golang new make 区别

admin 2024-10-16 21:48:52 编程 来源:ZONE.CI 全球网 0 阅读模式

Golang是一门开源的编程语言,由Google团队开发。它在性能和并发效率方面有着出色的表现,因此越来越受到开发者的喜爱。在Golang中,我们经常使用new和make来创建变量和数据结构。然而,它们之间存在一些差异。

new

首先,让我们来看看new关键字。它是一个内置函数,并返回一个指向新分配内存的指针。通常情况下,我们使用new来创建指向基本类型的指针,如int、float64等。

例如,当我们使用new创建一个整数指针时,我们可以这样写:

var p *int
p = new(int)

这段代码将分配内存用于存储一个整数,并将其地址赋给p指针。此时,p指针指向的内存是零值,即0。

make

接下来,我们来介绍make关键字。与new不同,make用于创建切片、映射和通道等引用类型的数据结构。

例如,我们可以使用make来创建一个切片:

var s []int
s = make([]int, 5)

上述代码创建了一个长度为5的整数切片。在使用make创建切片时,我们需要指定切片的类型以及切片的长度。切片被初始化为对应类型的零值,如整数切片的零值是0。

小结

在Golang中,new和make是用于创建变量和数据结构的关键字。它们之间的区别在于,new用于创建指向基本类型的指针,而make用于创建引用类型的数据结构,如切片、映射和通道等。

当我们使用new创建变量时,它将返回分配内存的指针,并且该内存被初始化为零值。而使用make创建数据结构时,它会返回已经初始化的数据结构,例如切片的长度和容量都被初始化。

因此,我们应根据具体需求选择适合的关键字。如果我们只是想要一个空指针,那么可以使用new;如果我们需要一个已经初始化的数据结构,那么应该使用make。

weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
golang new make 区别 编程

golang new make 区别

Golang是一门开源的编程语言,由Google团队开发。它在性能和并发效率方面有着出色的表现,因此越来越受到开发者的喜爱。在Golang中,我们经常使用new
golang和wordpress 编程

golang和wordpress

Golang与WordPress:打造高效稳定的网站后端在当今互联网时代,网站开发占据着重要的位置。而作为一名专业的Golang开发者,我们应该有能力选择最适合
golang java node 编程

golang java node

现代软件开发行业中,后端开发是一项非常重要且繁琐的工作。选择一种好的后端开发语言可以提高开发效率,降低开发成本,并且能够满足不同项目的需求。在众多后端开发语言中
golang开源组件 编程

golang开源组件

Golang开源组件:构建高效可靠的应用程序在当今软件开发领域,选择合适的编程语言和开源组件是实现高效、可靠应用程序的关键。Golang作为一种现代化的静态类型
评论:0   参与:  0