1. 数组简介
同一个数组里面只能存放同一种类型的数据;每个数据被称为数组元素(element),一个数组包含的元素个数被称为数组的长度。
[1,3,5,6,7,8] numbers
len(numbers) 长度 6
cap(numbers) 容量
numbers[3] 读取对应索引的数据
数组里面的数据:1.有序 2.可重复
集合:1.无序 2. 不可重复
2.数组的初始化的歌各种方式
//创建数组(声明长度)
var numbers = [5]int{1, 3, 5, 6, 8}
var numbers = [5]int{}
var nums [5]int //[0,0,0,0,0]
var names [89][101]string
nums := [5]int{2, 6, 9, 1, 10}
//创建数组(声明长度),并仅初始化其中的部分元素
var nums = [5]int{1: 2, 3: 6} //[0,2,0,6,0]
//创建数组(不声明长度)
var array2 = [...]int{6, 7, 8}
//创建数组切片
mySlice := []int{1, 3, 5, 7, 9, 11}
mySlice := make([]int, 3, 3)
// mySlice := [3]int{} //长度不可变,容量不可变
// mySlice := []int{0,0,0}
//创建数组(不声明长度),并仅初始化其中的部分元素,数组的长度将根据初始化的元素确定
var array5 = [...]string{3: "Tom", 2: "Alice"}
//创建数组切片,并仅初始化其中的部分元素,数组切片的len将根据初始化的元素确定
var array6 = []string{4: "Smith", 2: "Alice"}
3数组长度与容量
package main
import "fmt"
func main() {
// 如果一个可变的数组容量不够使用的时候,容量翻倍
mySlice := []int{1, 2, 3, 4, 5, 6}
myOtherSlice := []int{7, 8, 9, 10, 11}
// myOtherSlice... 表示把myOtherSlice里面的所有
// 内容一一添加到mySlice里面,...是一种语法
mySlice = append(mySlice, myOtherSlice...)
fmt.Println(mySlice)
fmt.Println(len(mySlice))
fmt.Println(cap(mySlice))
}
输出为:
[1 2 3 4 5 6 7 8 9 10 11]
11
12