当类成员是struct指针、map、slice 时,默认初始化的值是 nil,在使用前需要提前初始化,否则会报相关的 nil 错误。引用类型的成员,默认会初始化为 nil,但对 nil 的切片进行 len\append 等操作时,并不会引发异常。 所以当 new 一个复杂的对象时,在使用该对象时应该非常注意,或者手写一个构造函数,在里面把默认初始化为 nil 的成员初始化成需要的值。注意,如果类成员是 struct 对象,则默认初始化不是nil,而是一个可用对象。
将切片、字典作为函数参数时是引用传递,函数内部的操作可以改变原数据。
在使用 json.Unmarshal 函数热加载配置文件到 map 中时,如果载入没有问题,则清空 obj 对象,再重新加载一遍,因为如果是 map 数据,json.Unmarshal 转化时,会保留原 map 中多余的键值,这样配置文件如果需要删除一些配置项,实际上会删除不了。
Mysql Insert/Update
http://blog.****.net/xd43100678/article/details/38261173vv