5

文字列の配列をバイト配列の配列に変換する必要があります。このコードは機能しますが、繰り返されるのappendは不快に思えます。より良い方法はありますか?

input := []string{"foo", "bar"}
output := [][]byte{}
for _, str := range input {
    output = append(output, []byte(str))
}
fmt.Println(output) // [[102 111 111] [98 97 114]]
4

1 に答える 1

12

何があっても、新しい を作成して[][]byteをループする必要があります[]string。次のコードを使用して append を使用しないようにしますが、実際にはすべてスタイルの問題です。あなたのコードは完全に正しいです。

input := []string{"foo", "bar"}
output := make([][]byte, len(input))
for i, v := range input {
    output[i] = []byte(v)
}
fmt.Println(output) // [[102 111 111] [98 97 114]]
于 2012-10-10T22:48:12.487 に答える