interface
- 所有类型都实现了 interface{} 接口
- 使用interface可以实现类型断言
package main
import "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: hello
panic: arg is not string type
goroutine 1 [running]:
main.Func(0xb22ac0, 0xb5ec80)
E:/cgo/go-package/struct/interface2.go:10 +0xe5
main.main()
E:/cgo/go-package/struct/interface2.go:17 +0x65
exit status 2