最佳答案
为什么编码/json 不包含未导出的字段,是否有技术原因?如果没有,这是一个武断的决定,是否可能有一个额外的后门选项(如’+’) ,包括即使未导出?
要求客户端代码导出以获得此功能感觉很不幸,特别是如果小写字母提供封装或决定封送结构比设计结构晚得多。
人们是怎么处理这个的? 把所有东西都输出去?
另外,导出字段名不会使得跟随建议的习惯用法变得困难吗。我认为如果 structX 有字段 Y,那么就不能有访问器方法 Y ()。如果您想要提供对 Y 的接口访问,那么您必须为 getter 提供一个新的名称,无论您得到的是什么,根据 http://golang.org/doc/effective_go.html#Getters,都是不惯用的