struct,interface,method
struct类型,值传递的 声明 struct { name string age int } //几种声明使用方式: var P person // P现在就是person类型的变量了 P.name = "Astaxie" // 赋值"Astaxie"给P的name属性. P.age = 25 // 赋值"25"给变量P的age属性 //按照顺序提供初始化值 P := person{"Tom", 25} //通过field:value的方式初始化,这样可以任意顺序 P := person{age:24, name:"Tom"} //当然也可以通过new函数分配一个指针,此处P的类型为*person P := new(person) struct的匿名字段 struct定义的时候是字段名与其类型一一对应,实际上Go支持只提供类型,而不写字段名的方式,也就是匿名字段,也称为嵌入字段。当匿名字段是一个struct的时候,那么这个struct所拥有的全部字段都被隐式地引入了当前定义的这个struct。 所有的内置类型和自定义类型都是可以作为匿名字段的 type Human struct { age int phone string // Human类型拥有的字段 } type Student struct { Human // 匿名字段,struct int // 内置类型作为匿名字段