1
我需要將字符串數組轉換爲字節數組數組。此代碼有效,但重複的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]]
難道它不僅僅是一個風格問題? OP的代碼將根據輸入的大小多次ping分配器。你將會要求一個記憶並且完成它。 (當然,OP可以使用'make([] [] byte,0,len(input))'而不是複合文字...) – BurntSushi5
是的,如果他按照他的方式分配了幾個時間。但是,由於字符串非常小,因此不太可能產生很大的差異。你是正確的,使用make()並設置一個理智的上限會減少分配的數量,就像我的例子一樣。 –
同意,這就是我不喜歡append()的重複調用。 –