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

我需要将字符串数组转换为字节数组数组。这段代码有效,但是重复的代码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]]


眼眸繁星
浏览 187回答 1
1回答

智慧大石

无论如何,您都需要创建一个新对象[][]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]]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go