为了账号安全,请及时绑定邮箱和手机立即绑定

我如何读取最多一对值?

我如何读取最多一对值?

Go
ABOUTYOU 2022-12-05 16:55:39
所以我有一个从 TCP 连接读取值的函数。我想阅读该行直到出现分隔符 '\b\r'。到目前为止我有func func1(someconnection net.Conn) string {    c := bufio.NewReader(someconnection)    buff1 := make([]byte, predefinedsizeofmessage)    buff1, err := c.ReadBytes(byte('\r'))    if err != nil {        fmt.Printf("Connection closed")    }    message:= strings.Trim(string(buff1), delimiter)    if len(message) == predefinedsizeofmessage {        fmt.Printf("The message is in the wrong format")    }    fmt.Printf("The messageis: %s\n", message)    return message}如果我在分隔符前读到 \r ,这显然是有问题的。我看过使用扫描仪的示例,但由于某种原因,客户端在使用时会调用超时。也许,我没有正确地实施扫描仪。
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

仅支持单bufio.Reader字节分隔符,您应该使用bufio.Scanner带有自定义拆分功能的工具来拆分多字节分隔符。

也许是https://stackoverflow.com/a/37531472/1205448的修改版本


查看完整回答
反对 回复 2022-12-05
  • 1 回答
  • 0 关注
  • 83 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信