在Go中使用JSON的最佳实践

时间:2017-07-11 11:05:30

标签: json go

我开始在Go中编写聊天应用程序并开始想知道使用JSON的最佳方式是什么。我已经阅读了不同的文章,似乎我必须为客户端发送的每个操作创建不同的类型。

让我们说有三个动作:

saveAsTable

根据我的理解,我必须创建三种匹配这些操作的类型。像这样:

NewMessage
DeleteMessage
EditMessage

我来自Node.js世界(虽然我不想比较两者)但对我而言,为每一个动作创建和维护类型似乎有点过于冗长。如果有数百个动作怎么办?

1 个答案:

答案 0 :(得分:2)

Go是一种强类型编程语言。没有类似JavaScript的松散类型。

如果您想为每条消息提供强大的数据类型,那么您需要为每种类型编写一个结构。否则,您可以将消息解组为map[string]interface{}(对于“通用”JSON对象)并改为使用它(这将需要类型断言将interface值转换为强类型)。