我想了解一些简单的代码,但我正在努力弄清楚如何让它正常工作。
一般的想法是我想传递一些数据,并将其转换为字节数组。然后我想在字节切片的第一个索引处应用字节数组的长度,然后将字节数组添加到切片的末尾。
这就是它的尝试:
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)
所以这个想法是slice
的第一个字节包含len(b)
的数字,然后继续它,实际的字符串消息为一系列字节。
但我明白了:
cannot use stringAsByteArray (type []byte) as type byte in append
append(slice, stringAsByteArray) evaluated but not used
答案 0 :(得分:1)
例如,
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:]))
}
输出:
11 Hello there
答案 1 :(得分:0)
make
函数append
功能[]byte
中的元素添加到[]byte
,您可以在append
调用中使用展开运算符。append
函数