将字符串数组转换为字节数组数组的惯用方法

Ada*_*son 4 go

我需要将字符串数组转换为字节数组数组.这段代码有效,但重复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]]
Run Code Online (Sandbox Code Playgroud)

Ste*_*erg 10

无论如何,你都需要创建一个新的[][]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]]
Run Code Online (Sandbox Code Playgroud)