GO(1)-数据结构 array(数组),slice(切片),map(字典)

1.array(数组)
 

//1.数组,声明时大小就固定下来了。存储类型为T的数组。
 var name [size]T
//2.简单初始化和使用
package main
import "fmt"
func main(){
    var numlist1[3]int
    numlist1[0]=0
    numlist1[1]=1
    numlist1[2]=2
    
    numlist2:=[3]int{0,1,2};
    fmt.Println(numlist1,numlist2)    
}


2.slice(切片)
 

//1.原数组上创建切片
slice:=source[begin:end]//数组中取一个半开区间
//2.创建新切片 当前切片的长度和容量
slice:=make([]T,size,cap)
//3.访问和修改
package main
import "fmt"
func main(){
    arr1:=[...]int{0,1,2,3}
    slice1:=arr1[0:4]       //1.原来数据添加新数据
    slice2:=make([]int,4,4) //2.新切片数据
    for i:=0;i<4;i++{
        sclice2[i]=i
    }
    slice3:=append(slice1,5)//3.扩容
    slice4:=[]int{0,1,2,3} //[]内无值 切片长度不固定,如果[]有值,则固定长度的数组
    fmt.Println(slice1,slice2,slice3)
}


3.map(字典)
 

var name map[keyType]ValueType
//初值为null 用make 函数进行初始化
name=make(map[keyType]ValueType)

package main
import "fmt"
func main(){ 
    map1:=make(map[int]string)  //初始化  
    map1[1]="01"
    map1[2]="02"
    map1[3]="03"
    
    fmt.Println(map1[0])//是否存在
    value,ok:=map1[1];if ok{fmt.Println("1 is",value)
                           }else{
        fmt.Println("1 is not exited!")
    }
    fmt.Println(map2);
}
value,ok:=map[key]
//查到ok返回true ,否则返回初值


 

猜你喜欢

转载自blog.csdn.net/aggie4628/article/details/107465787