1,struct加上指向本类型的指针,可以实现链表等复杂数据结构,,然后实现队列和堆栈等常用数据类型。
2,struct和interface实现了go的继承,通过组合,或者说是嵌套完成继承。
3,一些特殊用法。
首先,空的interface重要用途是可以解析未知json!因为interface能继承任意类型,所以,web的接口中用json,可以直接用map[string] interface{}多重嵌套的方式实现解析未知json。
空的struct,可以用来做method reciver,只有属性,没有方法。比如:
type classA struct {
}
func (s * classA) method1 ()(){
}
func (s * classA) method2 ()(){
}
struct还有个常见用法,是加tag,用于反射!
有疑问加站长微信联系(非本文作者)