1.
// The nil pointer exception is not strictly necessary
// but mimics a similar, necessary exception in the behavior of
// UnmarshalJSON.
我英文水平有问题吗?翻译如下:
空指针异常不是必要的,但它在UnmarshalJSON的行为中模仿了一个相似的,必要的异常。
我怎么感觉不通顺呢?也没法理解。
2.
// An anonymous struct field of interface type is treated the same as having
// that type as its name, rather than being anonymous.
interface类型的匿名字段?这是允许存在的吗?
大概的意思应该指的是:
1 json.Marshal 遇到空指针不会抛出异常,你可以看源码对空指针写的是 null,但是反序列化时空指针是会抛出异常的
2 json.Marshal 必须具名,否则用其类型作为名称
#3