Go中分配原语:new

xiaoxiao2021-02-28  17

    Go中的new,是一个用来分配内存的内建函数,但是不像在其它语言中,它并不初始化内存,只是将其置零。也就是说,new(T)会为T类型的新项目,分配被置零的存储,并且返回它的地址,一个类型为*T的值。在Go的术语中,其返回一个指向新分配的类型为T,值为零的指针。

    由于new返回的内存是被置零的,这会有助于你将数据结构设计成,每个类型的零值都可以使用,而不需要进一步初始化。这意味着,数据结构的用户可以使用new来创建数据,并正确使用。

当结构中有指针,比如下面:

type Cert struct { .... Subject *PkixName `json:"subject,omitempty"` }

指针会被初始化为nil,这个需要注意

个人微信公众号:

作者:jiankunking 出处:http://blog.csdn.net/jiankunking

转载请注明原文地址: https://www.6miu.com/read-1649991.html

最新回复(0)