为了自学 Go,我正在构建一个简单的服务器,它接受一些输入、进行一些处理并将输出发送回客户端(包括原始输入)。
输入的长度可以从大约 5 到 13 个字符 + 结束行以及客户端发送的任何其他内容不等。
输入被读入字节数组,然后转换为字符串进行一些处理。另一个字符串附加到该字符串,整个内容被转换回字节数组以发送回客户端。
问题是输入填充了一堆 NUL 字符,我不知道如何摆脱它们。
所以我可以遍历数组,当我遇到一个 nul 字符时,记下长度 (n),创建一个该长度的新字节数组,然后将前 n 个字符复制到新字节数组并使用它。这是最好的方法,还是有什么可以让我更轻松?
一些精简的代码:
data := make([]byte, 16)
c.Read(data)
s := strings.Replace(string(data[:]), "an", "", -1)
s = strings.Replace(s, "\r", "", -1)
s += "some other string"
response := []byte(s)
c.Write(response)
c.close()
此外,如果我在这里做任何其他明显愚蠢的事情,我会很高兴知道。