6.2Go空接口
空接口相对简单,需要注意
空接口 interface{} 是一个没有任何方法声明的接口。它不像其他接口那样定义具体的方法。因为没有方法声明,它就能接受任何类型的值。
由于空接口没有任何方法要求,所有的类型都隐式地实现了空接口。也就是说,无论是内置类型、结构体、还是自定义类型,都可以作为空接口类型的实例。这使得空接口非常通用,适用于需要存储多种类型的场景。
func main() {
p := new(Person)
p.run()
var s Runner = p //实现了run方法就实现了,Runner接口的所有方法,既可以看做是Person的指针,也是Runner接口类型
s.run()
var i1 any = 500
i1 = "1024"
i1 = [5]int{1, 2, 3, 4, 5}
fmt.Println(i1) //i1是任何类型,可以等于任何实例
}

浙公网安备 33010602011771号