interface
- 所有类型都实现了 interface{} 接口
- 使用interface可以实现类型断言
package mainimport "fmt"// 万能数据类型func Func(arg interface{}) {// 类型断言// xxx.(type)val,ok := arg.(string)if !ok {panic("arg is not string type")}fmt.Println("value:",val)}func main() {Func("hello")Func(100)}
value: hellopanic: arg is not string typegoroutine 1 [running]:main.Func(0xb22ac0, 0xb5ec80)E:/cgo/go-package/struct/interface2.go:10 +0xe5main.main()E:/cgo/go-package/struct/interface2.go:17 +0x65exit status 2
