1.数组与切片的联系与区别
切片是一个不定大小的数组
所以区别即是 定义时加了大小是数组 不加大小是切片
var variable_name [SIZE]variable_type
var variable_name [SIZE][SIZE]variable_type
var slicel []type
2.用append()向切片里添加元素,copy()复制函数
len()获取切片的长度(元素个数) cap()获取切片容量
3.一维切片
package main
import "fmt"
func main () {
var sliecl []int
sliecl = append(sliecl, 1)
len_s := len(sliecl)
cap_s := cap(sliecl)
fmt.Println(sliecl,len_s, cap_s)
}
//[1] 1 1
4.二维切片
1)这里注意二维切片的添加方式,先创建一个一维切片,然后再将一维切片添加进去
2)获取长度,如果只是变量名,获取的是行数,加上行数,获取的是当前行的长度(列数)
3)容量同上,容量的配置大小,由系统定义,这里不叙述
package main
import "fmt"
func main () {
var sliecl [][]int
var sliecl2 []int
sliecl2 = append(sliecl2, 1, 2, 3)
sliecl = append(sliecl, sliecl2)
var sliecl3 []int
sliecl3 = append(sliecl3, 4, 5, 6, 7)
sliecl = append(sliecl, sliecl3)
len_s := len(sliecl)
cap_s := cap(sliecl)
fmt.Println(sliecl,len_s, cap_s)
len_s2 := len(sliecl[0])
cap_s2 := cap(sliecl[0])
fmt.Println(sliecl,len_s2, cap_s2)
len_s3 := len(sliecl[1])
cap_s3 := cap(sliecl[1])
fmt.Println(sliecl,len_s3, cap_s3)
}
//[[1 2 3] [4 5 6 7]] 2 2
//[[1 2 3] [4 5 6 7]] 3 4
//[[1 2 3] [4 5 6 7]] 4 4