func main() {
var a [5]int = [5]int{1,2,3,4,5}
fmt.Println(a)
//使用自动类型推导
b := [5]int{1,2,3,4,4:999} //可以指定初始化数组中的第几个元素
fmt.Println(b)
c := [...]int{1,2,3,4,5,6,7}
fmt.Println(len(c))
//自动推导类型,同时初始化
s1 := []int{1,2,3,4,5}
fmt.Println(s1)
//借助make函数,制造一个切片
s2 := make([]int,5,10) //make(类型,长度,容量)
fmt.Println(len(s2))
s3 := make([]int,5) //没有指定长度,容量和长度是一样长
fmt.Println(s3)
s := []int{} //返回一个切片
s = append(s, 1) //添加元素,当超过了容量,会自动扩大
s = append(s, 2)
//切片类型的数组,使用 []int 来接收实参
//但是如果是底层的数组,不是切片那就不能使用 []int 了,要指定具体的长度,因为不同的长度是不同的类型
}
func main() {
a := [5]int{1,2,3,4,5}
b := [5]int{5,4,3,2,1}
swap(&a, &b)
fmt.Println(a)
fmt.Println(b)
}
//交换两个数组
func swap(a, b *[5]int) {
*a, *b = *b, *a
}