Go言語はJavaのように文字列にコピーオンライトを使用しますか?つまり、文字列を値でメソッドに渡し、それを変更しない場合、これはメモリを割り当てて文字列をコピーするか(時間効率が悪くなります)、または単一のコピーを参照するだけです。
文字列は不変であるため、コピーオンライトではありません。ただし、文字列を共有しても、基になるメモリ領域のコピーは作成されません。Goでは、文字列は(長さ、データ)のペアとして表されます。文字列を渡すと、Goは長さとポインタをコピーしますが、ポイントされたデータはコピーしません。
詳細については、golang-nutsに関するこの最近のスレッドを参照してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加