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是任何类型,可以等于任何实例

}

posted @ 2025-02-24 11:00  fanhongtao  阅读(0)  评论(0)    收藏  举报  来源