一、Interface
通用万能类型
- 空接口
- int,string,float,struct都实现了interface
- 都可以用interface{}类型,引用任意的数据类型
package mainimport "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)}