上代码

import (
    "encoding/binary"
    "fmt"
)

func main()  {
    var data []byte=[]byte("你好")
    buf:=make([]byte,4+len(data))
    binary.BigEndian.PutUint32(buf[:4],uint32(len(data)))
    copy(buf[4:],data)
    fmt.Println(len(data))
    fmt.Printf("%d,%s",buf[:4],buf[4:])

}

知识点1
var data []byte=[]byte("你好")
这句话可以将一个字符串转化为一个字节流数组
知识点2
binary.BigEndian.PutUint32(buf[:4],uint32(len(data)))
uint32类型的数字在字节流切片上占4个字节
PutUint32()专门用来处理固定长度的数字
知识点3
copy(buf[4:],data)
copy函数将data数据赋值到buf[4:]中

下一篇文章讲解字节流数据的读取