golang interface 指针、对象

  • Post author:
  • Post category:golang


  • 接口 Say
  • 结构体 Hello
package main

import "fmt"

type Say interface {
	say()
}

type Hello struct {}
func(h *Hello) say(){ //这里写指针,作为接口时必须引用
	fmt.Println("hello")
}

func main() {
	var sayHello Say = &Hello{}  //这里
	sayHello.say()
}

如果 Hello.say() 方法传的指针,则实例化接口时,必须写

&Hello{}

,

Hello{}

会报错。

如果

func(h Hello) say(){ //这里写对象
	fmt.Println("hello")
}

则实例化接口时,

&Hello{}

,

Hello{}

都可以。


golang interface 指针还是对象



版权声明:本文为xinxin100011原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。