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

如何高效便捷地解析 Go 中的简单消息?

如何高效便捷地解析 Go 中的简单消息?

Go
陪伴而非守候 2021-06-02 18:54:36
下面是一个消息示例:User: tboneLocation: /whateverTime: 23:23:23This is a little message.它有点类似于 HTTP 和其他协议:标头后跟一个空行和消息正文。解析这个最简单有效的方法是什么?标准文本/扫描仪对我来说看起来不错。如果我能更好地处理空白,我会很容易使用。也就是说,在标题中,它应该忽略冒号周围的空格,但让我知道单词和换行符之间的空格。我还需要知道消息正文何时开始。扫描仪可能是适合这项工作的工具吗?有没有更好的策略?我是否应该编写自己的小解析器,一次沿一个字符(或有时两个)行进并构建我的数据结构?这是我想避免的不便,但我可以做到。顺便说一下,我控制消息格式。是否有更好的消息格式可以简化任务?
查看完整描述

1 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

文本/扫描仪用于这种简单的格式会带来太多的开销(在程序员时间)。

net/http 使用net/textproto,您也可以使用它。查找 MIMEHeader 和ReadMIMEHeader

如果您需要比 MIMEHeader 可以包含的内容更复杂的内容,我会考虑仅使用 JSON。


查看完整回答
反对 回复 2021-06-07
  • 1 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

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