How to append byte array to slice of bytes in Go
本问题已经有最佳答案,请猛点这里访问。
我有一个简单的代码,我试图理解,但我正在努力解决如何使它正常工作。
一般的想法是我要传递一些数据,并将其转换为字节数组。然后,我想在字节片的第一个索引处应用字节数组的长度,然后将字节数组添加到该片的末尾。
这就是它所尝试的:
1 2 3 4 5 6 7 8 9 | var slice []byte myString :="Hello there" stringAsByteArray := []byte(myString) //convert my string to byte array slice[0] = byte(len(stringAsByteArray)) //length of string as byte array append(slice, stringAsByteArray) |
所以这个想法是
但我得到:
1 2 | cannot use stringAsByteArray (type []byte) as type byte in append append(slice, stringAsByteArray) evaluated but not used |
例如,
1 2 3 4 5 6 7 8 9 10 11 | package main import"fmt" func main() { myString :="Hello there" slice := make([]byte, 1, 1+len(myString)) slice[0] = byte(len(myString)) slice = append(slice, myString...) fmt.Println(slice[0], string(slice[1:])) } |
输出:
1 | 11 Hello there |
网址:https://play.golang.org/p/cp18akksca