1.make的用法

make是Go语言中的内置函数,用于创建切片、映射和管道。它接受一个类型和可选的容量作为参数,并返回一个指定类型的初始化后的对象,即:切片、映射、管道。例如:

// 创建一个切片
slice := make([]int, 10)

// 创建一个映射
m := make(map[string]int)

// 创建一个管道
ch := make(chan int)

2.new的用法

new是Go语言中的内置函数,用于分配内存,分配的内存置为零值。它接受一个类型作为参数,并返回一个指向新分配类型零值的指针,例如:

// 分配一个int类型的内存,并返回指针
p := new(int)

// 分配一个Person类型的内存,并返回指针
p := new(Person)

3.make与new的区别

make和new的区别在于,make只用于创建切片、映射和管道,而new用于分配内存,它只接受一个类型作为参数,并返回一个指向新分配类型零值的指针。另外,make返回的是已经初始化后的对象,而new返回的是指向新分配类型零值的指针。