var 用于声明变量
make 只用于创建切片、map、映射和通道 。它返回一个已经初始化且准备好使用的非零值。
new 用于声明变量,开辟内存,返回零值所对应类型的指针。数组、map等
注:make不可用于数组
代码一下
cpp
package main
import (
"fmt"
)
func main() {
//var 用于声明变量
//make 只用于创建切片、map、映射和通道 。它返回一个已经初始化且准备好使用的非零值。
// new 用于声明变量,开辟内存,返回零值所对应类型的指针。数组、map等
//注:make不可用于数组
//数组
//字面量定义数组
arr := [3]int{1, 2, 3}
//new一个数组
arr1 := new([5]int) //返回指针
arr1[0] = 2 //可直接给子值
arr1[2] = 4
//切片
sli := []int{1, 2, 3} //字面量定义
//make一个切片,长度为2,容量为4,赋值与追加
sli1 := make([]int, 2, 4) //len(sli1) cap(sli1)
sli1[1] = 5
sli1 = append(sli1, 77)
//new一个,然后赋值,new为指针
sli2 := new([]int)
sli2 = &[]int{1, 2, 3, 4}
//map
//map 字面量定义
map1 := map[int]string{1: "st1", 2: "st2"}
//make 一个map
map2 := make(map[int]int) //这里可以是空值
map2[2] = 4
map3 := new(map[int]int) //返回指针
}
-----------end