先完成引用类型的初始化(new ,make)
值类型初始化 int...
var a = new(int) a 类型是一个int指针(*int)
var b = make(int,0,10) 报错显示无法创建int
值类型无法通过make进行创建
引用类型初始化 slice,map,channel
//slice
var s = new([]int) new 返回的是一个类型指针,一个指向空值的指针
*s = append(*s,3)
fmt.Print(*s)
var s = make([]int,0,10) make 返回的是数据类型对象,可直接操作。参数依次是,type 类型,size 大
s = append(s,10) 小,IntegerType 长度
fmt.Print(s)
//map
var m = new(map[string]int) new 返回的是一个类型指针
print(*m) 打印结果0x0 说明没有分配内存空间,并未实例化完成(后面细讲)
*m["a"] = 1 报错,不可写
var m = make(map[string]int) make 正确,系统分配最小存储空间,可以指定元素个数
m["a"] = 1
fmt.Println(m)
var m = make(map[string]int, 5) 指定元素个数5
m["a"] = 1
fmt.Println(m)
//channel 涉及较多后面的章节单独讲解,从初始化,到使用,还有进阶
有疑问加站长微信联系(非本文作者)