Go 数组 切片 map

一、数组(array)

数组是具有相同类型的一组长度固定的数据序列,这种类型可以是任意的基本数据类型或复合数据类型及自定义类型
数组的特点:
@1 数组是值类型,而不是引用类型。
@2 数组当做参数传递时,是值传递,原数组不变。

# method 1
var nums1 = [5]int{3, 4, 5, 6, 7}
# method 2
var nums2 = [...]int{8, 8, 8, 8}

# 遍历数组1
for i :=0; i < len(nums1); i++ {
    fmt.Println(a[i], "\t")
}
# 遍历数组2
for _, value := range nums1 {
fmt.Println(value, "\t")
}

二、切片(slice)

切片是引用数据类型

# 声明切片1
var slice1 []int
# 声明切片2
var slice2 []int = make([]int, 10)
或者
slice2 := make([]int, 10)

# 切片初始化1
s := []int{1, 2, 3}
# 切片初始化2 通过截取数据
s := nums1[:]

三、集合(map)

map也是一种引用数据类型

1. 定义时初始化
m1 := map[string]float32{"Go": 20}
或
var m1 = map[string]string{"Go": "20"}
2. 创建集合后再赋值
m2 := make(map[string]string)
m2["Go"] = "Good"
m2["C++"] = "Nice"

# interface{} 类型  值可以是任意类型
m3 := map[string]interface{}{"a": 20, "b": "haha"}

你可能感兴趣的:(Go 数组 切片 map)