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返回的是指向新分配类型零值的指针。