You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extend 或 Config 结构体中的其他配置都存在这样的使用问题,超过一个单词的配置都可能导致使用者遇到上述问题。在 Go 语言中存在大量下划线的 tag 或者配置的命名习惯,如果使用者在使用时遇到了上述问题,不阅读解析过程的源代码是无法找到问题所在的,增加了开发者的学习成本,所以上述问题是值得优化的。
The text was updated successfully, but these errors were encountered:
问题描述
在 go-admin 的 Go 工程下的
Extend
结构体添加如下两个扩展配置,setting.yml
文件extend
中添加如下配置,结果就是
Kafka
成员成功读取配置中的值,而KafkaHost
将永远为空字符串。问题原因
config/default.go
的Init
方法用于解析配置文件到结构体中,config/reader/json/values.go
中将yml
读取并转为json
,然后通过json
解析的方式将值赋到结构体上,于是就有了上述问题。
解决方式
1. json tag
知道了上述使用的
json
解析方式,这个就不言而喻了,2. 驼峰配置
如果没有配置
json tag
,那么默认的解析方式是驼峰,首字母大小写都可以,总结
Extend
或Config
结构体中的其他配置都存在这样的使用问题,超过一个单词的配置都可能导致使用者遇到上述问题。在 Go 语言中存在大量下划线的 tag 或者配置的命名习惯,如果使用者在使用时遇到了上述问题,不阅读解析过程的源代码是无法找到问题所在的,增加了开发者的学习成本,所以上述问题是值得优化的。The text was updated successfully, but these errors were encountered: