[Swith]なぜSubstringがあるのでしょうか?
1265 ワード
🗒 Substringとは?
Stringタイプをメソッドに変換すると、不思議なことにreturnタイプはStringではなくSubstringです.
アップルの公式文書によると
SubstringタイプはStringタイプとほぼ同じ方法を持っているのでStringのように使用できる.
@frozen struct Substring
🧐 Substringが存在する理由
上によれば、StringとSubstringはあまり変わらない.
それはなぜですか.Substringタイプは別に作られますか?(お手数ですが…)
これがパフォーマンスの最適化です.
SubstringタイプはStringの変換時に発生します.
したがって、記憶領域を節約するために、変換前のStringタイプのアドレスを参照して値を取得することができる.
(アップルランドガイドの画像)
上の写真を見ると、すぐに理解できます.
値を参照して、タイプをStringに変換すると、ストレージスペースに格納されます.
StringProtocol
StringとSubstringは、Stringプロトコルを遵守しています.
つまり.
StringProtocolタイプは、文字列の処理方法を作成するときにパラメータとして使用します.
StringもSubstringも受信できることを意味します
アップルは本当にメモリを真剣に管理していますね.
コメントドキュメント
サブスクリプトの正式なドキュメント
蘭貴ガイドのサブスクリプト
Reference
この問題について([Swith]なぜSubstringがあるのでしょうか?), 我々は、より多くの情報をここで見つけました https://velog.io/@cherrish_red/swift-Substring는-왜-있는-걸까テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol