一、Interface
通用万能类型
- 空接口
- int,string,float,struct都实现了interface
- 都可以用interface{}类型,引用任意的数据类型
package main
import "fmt"
//interface()是万能数据类型
func myFunc(arg interface{}) {
fmt.Println("myFunc is called...")
fmt.Println(arg)
//给interface{}提供"类型断言"的机制
value, ok := arg.(string)
if !ok {
fmt.Println("arg is not string type")
} else {
fmt.Println("arg is string type,value = ",value)
fmt.Printf("value type is %T\n",value)
}
}
type Book struct {
auth string
}
func main() {
book := Book{"Golang"}
myFunc(book)
myFunc(100)
myFunc("abc")
myFunc(3.14)
}