Чтобы научить себя, я создаю простой сервер, который принимает некоторые данные, выполняет некоторую обработку и отправляет выходные данные клиенту (включая исходный ввод).
Ввод может варьироваться в зависимости от длины от 5 до 13 символов + конечных линий и любого другого guff, который отправляет клиент.
Ввод считывается в массив байтов и затем преобразуется в строку для некоторой обработки. К этой строке добавляется еще одна строка, и все это преобразуется обратно в массив байтов для отправки обратно клиенту.
Проблема заключается в том, что вход дополняется связкой символов 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()
Также, если я делаю что-то еще, очевидно, глупо здесь, было бы хорошо знать.