我在github上看大佬写的以太源码分析,里面有段struct的定义语法我有点看不懂。
是这样的:
type typeinfo struct { //存储了编码器和解码器函数
decoder
writer
}
按照我的认知,golang的结构体定义不应该是这样的吗:
type struct_variable_type struct {
member definition;
member definition;
...
member definition;
}
为什么上面大佬写的结构体成员可以不用有definition?
你说的这种叫组合,是将多个已定义的struct组合成一个新的struct。
你可以看看,源码中应该有已定义的
decoder
,writer
两个struct。在新的struct中可以不用定义名称,使用的时候,可以直接当成新struct的属性。