首页 > 代码库 > 初识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)