//make和new的使用问题
package main
//make和new的区别
import (
"fmt"
)
var m map[string]string
func main() {
var i *int
i = new(int)
fmt.Println(i)
fmt.Println(*i)
*i = 10
fmt.Println(i)
fmt.Println(*i)
m = make(map[string]string)
fmt.Println(m)
m["k"] = "v"
fmt.Println(m)
}
//两者都是在堆上分配内存,new执行之后返回的是指针类型的指针,创建之后把变量置为0值,make是用于引用类型(map,chan,slice)的创建,返回是引用类型的本身。
//简而言之:new 创建的是指针类型,make 创建的类型本身