首页 > 代码库 > 初识Go(7)
初识Go(7)
什么是interface简单的说,interface 是一组 method 的组合,我们通过 interface 来定义对象的一组行为。如何实现interface?//Human 对象实现 Sayhi 方法func (h *Human) SayHi() { fmt.Printf("Hi, I am %s you can call me on %s\n", h.name, h.phone)}// Human 对象实现 Sing 方法func (h *Human) Sing(lyrics string) { fmt.Println("La la, la la la, la la la la la...", lyrics)}//Human 对象实现 Guzzle 方法func (h *Human) Guzzle(beerStein string) int{ return 1}type Men interface { SayHi() Sing(lyrics string) Guzzle(beerStein string) int} 空interface(interface{})不包含任何的 method,正因为如此,所有的类型都实现了空interface。 空 interface 对于描述起不到任何的作用(因为它不包含任何的 method),但是空interface 在我们需要存储任意类型的数值的时候相当有用,因为它可以存储任意类型的数值。它有点类似于 C 语言的 void*类型。var a interface{}var i int = 5s := "Hello world"// a 可以存储任意类型的数值a = ia = s一个函数把 interface{}作为参数,那么他可以接受任意类型的值作为参数,如果一个函数返回 interface{},那么也就可以返回任意类型的值。是不是很有用啊!
初识Go(7)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。