Go使用new和&符号实例化结构体的区别

48 阅读1分钟

代码:

/*作者:南雨北斗*/
package main
import(
	"fmt"
)

type Person struct{
	Name string
}
func main()  {
	//用指针方式new和取地址操作符&实例化结构体
	a := new(Person)
	a.Name = "小明"
	fmt.Println(*a)

	b := &Person{"小红"}
	fmt.Println(*b)
}

输出:

{小明}
{小红}

解析:new和&都可以实现指针方式实例化结构体,new方式适用于不知道或者不设置初始值的情况,&方式适用于设置初始值的情况。

(以上内容为原创,转载需注明出处©南雨北斗)