在Go语言中,make和new是两个用于创建变量的内建函数,但它们的作用和使用方式有所不同。
-
make函数:
make函数用于创建一个指定类型的切片、映射或通道,并返回其初始化后的值。make函数的语法如下:make(T, size) ``` 其中,T代表要创建的类型(切片、映射或通道),size代表类型的长度或容量。 下面是几个示例: - 创建切片: ```go slice := make([]int, 5, 10) ``` 上述代码创建了一个包含5个元素、容量为10的整型切片。 - 创建映射: ```go m := make(map[string]int) ``` 上述代码创建了一个空的字符串到整型的映射。 - 创建通道: ```go ch := make(chan int) ``` 上述代码创建了一个整型通道。 make函数适用于需要初始化长度或容量的类型,例如切片和映射。
-
new函数:
new函数用于创建一个指定类型的指针,并返回指针指向的零值。new函数的语法如下:new(T) ``