Go の unsafe.SliceData 関数のドキュメントには、次のように書かれています。 リーリー
&slice[0] ではなく
&slice[:1][0] を返す背後にあるロジックは何ですか?私の知る限り (そして私のテストでも確認されています)、どちらも同じアドレスを返します。 Go 開発者が後者ではなく前者を使用することを選択する特別な理由はありますか?
cap(slice) > 0) がある可能性がありますが、同時に、
0の長さ。
slice[0] のようにインデックスを作成すると、実行時パニックが発生します。
slice[:1] のようにスライスすると、長さ
1 のスライスが生成され、## のようにスライスできます。 #result[0]
これにより、実行時パニックを引き起こすことなく、結果にインデックスが付けられます。
###例えば:###
リーリー
これにより、次の結果が得られます:
しかし、これはうまくいきます:
リーリー以上がGo におけるスライスとスライスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。