Go でスライスを固定サイズの配列に変換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-15 20:19:02
オリジナル
533 人が閲覧しました

How do I convert a slice to a fixed-size array in Go?

Go でスライスを固定サイズの配列に変換する

Go では、可変サイズのスライスを変換する必要がある状況に遭遇することがあります。固定サイズの配列に変換します。ただし、スライスを配列に直接割り当てようとすると、エラーが発生する可能性があります。

スライスを固定サイズの配列に効果的に変換するには、「コピー」関数を利用できます。この関数を使用すると、指定した数の要素をソース スライスからターゲット配列にコピーできます。

以下のコードは、'copy' 関数の使用方法を示しています。

slice := []byte("abcdefgh")

var arr [4]byte

copy(arr[:], slice[:4])

fmt.Println(arr)
ログイン後にコピー

この例では、たとえば、「copy」関数は、最初の 4 つの要素を「slice」から「arr」配列にコピーします。 'copy' の引数としてスライス インデックスを指定すると、コピーされる要素の数を制御できます。

あるいは、Aedolon が提案しているように、次の構文を使用してコードを簡素化することもできます。

copy(arr[:], slice)
ログイン後にコピー

これは、「copy」がコピー元とコピー先の長さの最小値を自動的にコピーするためです。

これらのメソッドを使用すると、Go でスライスを固定サイズの配列に効果的に変換し、適切な数の要素がコピーされるようにし、型の安全性を維持できます。

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

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