发送单字节net.Conn Go

时间:2016-10-06 16:44:23

标签: go

我有一个接受连接的Go TCP服务器,我想一次回传1个字节的消息,我看不到让net.Conn使用net发送单个字节的方法。 Conn.Write

c.Write([]byte(b)) cannot convert b (type byte) to type []byte

c.Write(b) cannot use b (type byte) as type []byte in argument to c.Write

2 个答案:

答案 0 :(得分:6)

io.Writer始终接受[]byte作为参数。使用1字节长的字节片。您尝试过的([]byte(b))是将单个字节转换为字节切片。相反,创建一个以b为唯一元素的单元素字节切片:

n, err := c.Write([]byte{b})

答案 1 :(得分:-1)

使用b[i:i+1]创建一个字节的切片:

s := "Hello world!"
b := []byte(s)

for i:=0; i<len(s); i++ {
    c.Write(b[i:i+1])
}