Golang slice和map的申明和初始化
生活随笔
收集整理的這篇文章主要介紹了
Golang slice和map的申明和初始化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 前言
僅供記錄使用。
2 代碼
/*** @Author: FB* @Description: * @File: SliceMapInit.go* @Version: 1.0.0* @Date: 2019/7/5 14:39*/package mainimport "fmt"func main(){InitSlice()InitMap() }func InitSlice(){//三個等價var a []intvar a1 = []int{}var b = make([]int,0)var b2 = make([]int,0,0)//報錯//a[0] = 1//b[0] = 2showVals(a,a1,b,b2)showVals("---------end 1---------")//三個等價var c = []int{0,0,0}var d = make([]int,3)var d2 = make([]int,3,3)var d3 = make([]int,3,5)c[0] = 1d[0] = 2showVals(c,d,d2)showVals("---------end 2---------")//報錯,因為長度只有3//d[3] = 3showVals(d,len(d),cap(d))//報錯,因為長度只有3//d3[3] = 3showVals(d3,len(d3),cap(d3))showVals("---------end 3---------")//append 以上兩種情況都可以a = append(a,1,2,3)b = append(b,1,2,3)d = append(d,1,2,3)d3 = append(d3,1,2,3)showVals("a",a,len(a),cap(a))showVals("b",b,len(b),cap(b))showVals("d",d,len(d),cap(d))showVals("d3",d3,len(d3),cap(d3))}func InitMap(){var a map[string]stringshowVals(a)// add these lines:/*myGreeting["Tim"] = "Good morning."myGreeting["Jenny"] = "Bonjour."*/// and you will get this:// panic: assignment to entry in nil map//OKvar b = make(map[string]string)//等價寫法shorthand_make//b := make(map[string]string)//initb["Tim"] = "Good morning."b["Jenny"] = "Bonjour."showVals(b)//OKc := map[string]string{}//initc["Tim"] = "Good morning."c["Jenny"] = "Bonjour."showVals(c)//initc1 := map[string]string{"Tim": "Good morning!","Jenny": "Bonjour!",}c1["FB"] = "Hi"c1["Jenny"] = "Hello"c1["Jenny2"] = "Hello2"showVals(c1,len(c1))delete(c1,"Jenny2")showVals(c1)//key := "FB2"key := "FB"if val, exists := c1[key];exists{showVals(val)delete(c1,key)showVals(c1)}else{showVals("no found",key)}//遍歷for key, val := range c1 {fmt.Println(key, " - ", val)}}func showVals(vals ...interface{}){for _,v :=range vals{fmt.Print(v,"\t")}fmt.Println() }
轉載于:https://www.cnblogs.com/fanbi/p/11138537.html
總結
以上是生活随笔為你收集整理的Golang slice和map的申明和初始化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flutter 导航页面转换动画效果
- 下一篇: 曾是美国军警最爱的“近战杀器”