多维数组
存储的是一维的一维
package main
import "fmt"
func main() {
a2:=[3][4]int{{1,2,3},{4,5,6},{7,8,9}}
fmt.Println(a2)
fmt.Printf("二维数组的地址为%p\n",&a2)
fmt.Printf("二维数组的长度为%d\n",len(a2))
fmt.Printf("一维数组的长度为%d\n",len(a2[0]))
//遍历二维数组
for i:=0;i<len(a2);i++ {
for j:=0;j<len(a2[i]);j++ {
fmt.Print(a2[i][j]," ")
}
fmt.Println()
}
//for range 遍历二维数组
for _,arr:=range a2{
for _,val:=range arr{
fmt.Print(val,"\t")
}
fmt.Println()
}
}
数组的排序
冒泡排序
package main
import "fmt"
func main() {
arr:=[5]int{15,23,8,10,7}
/*for j:=0;j<4;j++{
if arr[j]>arr[j+1] {
arr[j],arr[j+1]=arr[j+1],arr[j]
}
}
fmt.Println(arr)
*/
for i:=1;i<len(arr);i++ {
for j:=0;j<len(arr)-i;j++ {
if arr[j]>arr[j+1] {
arr[j],arr[j+1]=arr[j+1],arr[j]
}
}
}
fmt.Println(arr)
}
slice切片
定义切片
var identifier[]type
1. make()
第一个参数:类型
slice,map,chan
第二个参数:长度
实际存储元素的数量
第三个参数:容量
最多能存储元素的数量、
2.append()
两种用法:1.append(切片名,参数,参数,...)用于添加切片元素,超过范围会自动扩容
2.append(切片名,其他切片名...)将其他切片的元素添加至当前切片
package main
import "fmt"
func main() {
var s1 []int
fmt.Println(s1)
s2:=[]int {1,2,3,4}
fmt.Println(s2)
fmt.Printf("%T\n",s2)
fmt.Println("......................")
s3:=make([]int ,3,8)
fmt.Println(s3)
fmt.Printf("容量:%d,长度:%d\n",cap(s3),len(s3))
fmt.Println(".......................")
s4:=make([]int,0,5)
fmt.Println(s4)
s4=append(s4,1,2)
fmt.Println(s4)
s4=append(s4,3,4,5,6)//自动扩容
fmt.Println(s4)
s4=append(s4,s3...)
fmt.Println(s4)
}