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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-12-08 06:14:12791ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。