数组Array
- 概念:存储一组相同数据类型的数据结构
- 语法:
- var 数组名[长度] 数据类型
- var 数组名[长度] 数据类型{元素1,元素2...}
- 数组名:=[...]数据类型{元素}
- 通过下标访问
- 长度和容量
package main
import "fmt"
func main() {
var arr1[4] int
//var arr1= [4] int
//var arr1=[4] int{1,2,3,4}
arr1[0]=1
arr1[1]=2
arr1[2]=3
arr1[3]=4
fmt.Println(arr1)
fmt.Println("数组长度:",len(arr1))//实际存储数据量
fmt.Println("数组容量:",cap(arr1))//能够存储的做大数量
fmt.Println("...........")
var arr2 =[4]int{1:8,3:19}
fmt.Println(arr2)
fmt.Println("...........")
var arr3 =[5]string{"rose","王two狗"}
fmt.Println(arr3)
fmt.Println("...........")
var arr4 =[...]int{1,2,3,4,5}
fmt.Println(arr4)
fmt.Println(len(arr4))
}
数组内存分析
地址连续,不用时内存自动销毁
数组的遍历
- 方法1:依次访问,arr[0],arr[1]...
- 方法2:通过循环,配合下标
- 方法3:使用range
package main
import (
"fmt"
)
func main() {
arr:=[5]int{1,2,3,4,5}
for i:=0;i<len(arr);i++ {
arr[i]=i*2+1
}
fmt.Println(arr)
fmt.Println(".......")
for index,value:=range arr {
fmt.Println("下标是:",index,"数值是:",value)
}
sum:=0
for _,v:=range arr{
sum+=v
}
fmt.Println(sum)
}
数组类型
package main
import "fmt"
func main() {
//1.数值类型
arr1:=[4]int {1,2,3,4}
arr2:=[3]float64{2.15,3.18,6.19}
arr3:=[2]string{"hello","world"}
fmt.Printf("%T\n",arr1)
fmt.Printf("%T\n",arr2)
fmt.Printf("%T\n",arr3)
fmt.Println("............")
//2.赋值
arr4:=arr1
fmt.Println(arr1)
fmt.Println(arr4)
arr4[0]=100
fmt.Println(arr1)
fmt.Println(arr4)//不影响arr1
fmt.Println(arr1==arr4)
arr4[0]=1
fmt.Println(arr1==arr4)
}