我目前正在编写Go代码,它使用串口通过Arduino读取传感器值。目前我正在接受" \ r"和" \ n"在我的输出中。我知道在Python中,你可以这样做:
line = line.decode('utf-8')
摆脱角色。你会怎么用Golang做到这一点?我对这门语言比较陌生,所以任何帮助都会受到赞赏!以下是目前输出的片段:
"arduinoLED\"}\r\n{\"temperature\"
另外,如果有人能让我知道如何在Go中读取一行(类似于Python line.readline()
),这将是很棒的。
非常感谢!
答案 0 :(得分:2)
如果您使用default bufio.Scanner
(通常的方式)按行读取流,则会丢弃常规(\n
)和CRLF(\r\n
)换行符:< / p>
doc := "Hello\nWorld!\nGoodbye,\r\nnewlines!\r\n"
scanner := bufio.NewScanner(bytes.NewReader([]byte(doc)))
for scanner.Scan() {
fmt.Printf("%q\n", scanner.Text()) // Note our own newline here
}
if err := scanner.Err(); err != nil {
panic(err) // TODO: handle error properly
}
// Prints:
// "Hello,"
// "World!"
// "Goodbye,"
// "newlines!"
当然,除了上面示例中的字节读取器之外,您可能还有一个现有的Reader,但用法应该相同。