Parsing 如何在Go中高效方便地解析简单消息?

Parsing 如何在Go中高效方便地解析简单消息?,parsing,go,Parsing,Go,下面是一个消息示例: User: tbone Location: /whatever Time: 23:23:23 This is a little message. 它有点像HTTP和其他协议:头后面跟着一个空行和消息体 最简单有效的解析方法是什么?我觉得这个标准不错。如果我能更好地处理空白,我将很容易使用它。也就是说,在标题中,它应该忽略冒号周围的空格,但是让我知道单词和换行符之间的空格。我还需要知道消息正文何时开始 扫描仪可能是这项工作的合适工具吗?有更好的策略吗?我是否应该编写自己的

下面是一个消息示例:

User: tbone
Location: /whatever
Time: 23:23:23

This is a little message.
它有点像HTTP和其他协议:头后面跟着一个空行和消息体

最简单有效的解析方法是什么?我觉得这个标准不错。如果我能更好地处理空白,我将很容易使用它。也就是说,在标题中,它应该忽略冒号周围的空格,但是让我知道单词和换行符之间的空格。我还需要知道消息正文何时开始

扫描仪可能是这项工作的合适工具吗?有更好的策略吗?我是否应该编写自己的小解析器,一次遍历一个字符(有时两个),并构建数据结构?这是我想避免的不便,但我可以做到


顺便说一下,我控制消息格式。有没有更好的消息格式可以简化任务?

文本/扫描程序的开销(在程序员时间内)太大,无法用于如此简单的格式

net/http使用,您也可以使用它。寻找MIMEHeader和


如果你需要比MIMEHeader所能包含的更复杂的东西,我会考虑只使用JSON。< /P>我会将时区信息添加到时间中——这可能会节省你的脖子,如果你需要去全球的话,或者只是一个通信计算机会因为它的时区配置不当而行为不端。我只想在核心包中使用完整的datetime字符串,如

time.rfc339
。此包可用于格式化和解析。