- 接口
//接口的定义
type XXX interface{
method1(args...) int
method2(args...) bool
}
a. go的接口只能定义一些未实现的方法,不能定义属性
b. 接口的设计体现了`高内聚低耦合`的特性。
c. go中接口不需要显式实现,不用implement关键字,
d. 只要结构体实现了接口的所有方法,调用接口时自动实现。
- 类型断言
//当一个变量是interface类型时,可以使用类型断言,
//返一个实例和bool值(是否类型断言为true
var u interface{}
u = 10
obj, err := u.(int8) //err = fase
//ojb,err := u.(int) //err = true
fmt.Println(obj, err)