golang 内置函数new() 和struct{} 初始化的区别
发布时间:2020-12-16 19:24:15 所属栏目:大数据 来源:网络整理
导读:new() 这是一个用来分配内存的内置函数,它的第一个参数是一个类型,不是一个值,它的返回值是一个指向新分配的 t 类型的零值的指针。 在golang的代码定义如下: func new (t Type ) * Type strut{} 直接使用struct{} 来初始化strut时,返回的是一个struct类
new() 在golang的代码定义如下: func new(t Type) *Type
strut{} 两者对比代码如下: type Student struct{
id int
name string
}
func main(){
var s_1 *Student = new(Student)
s_1.id = 100
s_1.name = "cat"
var s_2 Student = Student{id:1,name:"tom"}
fmt.Println(s_1,s_2)
}
从上面代码的声明和打印的结果中就可以看出 s_1 的类型为指针,s_2 为一个Student类型 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |