ホームページ > バックエンド開発 > Golang > コピーせずに Go スライスを配列に変換するにはどうすればよいですか?

コピーせずに Go スライスを配列に変換するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-08 06:14:12
オリジナル
795 人が閲覧しました

How Can I Convert a Go Slice to an Array Without Copying?

スライスを配列に変換する

Go では、トリックまたは for ループを使用して、コピーせずにスライスを配列に変換できます。

このトリックを使用するには、配列をスライスとしてコピーに渡しますfunction:

type Lead struct {
  Magic        [4]byte
  Major, Minor byte
  Type         uint16
  Arch         uint16
  Name         string
  OS           uint16
  SigType      uint16
}

lead := Lead{}
copy(lead.Magic[:], buffer[0:4])
ログイン後にコピー

または、for ループを使用できます:

for index, b := range buffer[0:4] {
    lead.Magic[index] = b
}
ログイン後にコピー

リテラルを使用すると、スライスを配列に直接変換できます:

type Lead struct {
  Magic        [4]byte
  Major, Minor byte
  Type         uint16
  Arch         uint16
  Name         string
  OS           uint16
  SigType      uint16
}

lead := Lead{
  Magic: [4]byte{'h', 'e', 'l', 'l'},
  ...
}
ログイン後にコピー

以上がコピーせずに Go スライスを配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート