五、空接口
空接口是特殊形式的接口类型,普通的接口都有方法,而空接口没有定义任何方法口,也因此,我们可以说所有类型都至少实现了空接口。
package main
import "fmt"
//空接口的使用
func main() {
//第一,通常我们会直接使用 interface{} 作为类型声明一个实例,而这个实例可以承载任意类型的值。
//声明一个空接口实例
var i interface{
}
//存int
i=1
fmt.Println(i)
//存字符串
i="hello"
fmt.Println(i)
//第二,如果想让你的函数可以接收任意类型的值 ,也可以使用空接口
a := 10
b := "hello"
c := true
myfunc(a)
myfunc(b)
myfunc(c)
//第三,你也定义一个可以接收任意类型的 array、slice、map、strcut,例如这边定义一个切片
any := make([]interface{
}, 5)
any[0]