在golang编程中总结的基础语法及常见的问题
寫下,自己在用golang開發中,用到的東西,有啥寫啥。
今個就寫下golang中的控制語句 ?if ?else、for、switch、goto,這幾個方面。
if 判斷對比
for 循環
這里可以直接賦值
完整的例子
如果想實現死循環,很簡單,直接
這里在看看switch的用法,學過語言的人都知道的。
對于判斷是可以寫更復雜的
用if實現:
kk := 0 bb := 9 if 0 <= kk && bb <= 9 {fmt.Println("zhenghao") }用switch實現
還有一個goto,是個在自定義標簽中跳轉用的
數組其實用的不多,這里就一筆帶過,貌似更多的人在用切片slices ?
slice是一個指針而不是值。
slice就是“動態的數組”,傳值的時候他也是拷貝賦值,只是他拷貝的是內存地址,是傳遞指針的。slice總是指向一個底層的array,slice聲明也像array一樣,只是不需要長度。
切片中有兩個概念:一是len長度,二是cap容量,長度是指已經被賦過值的最大下標+1,可通過內置函數len()獲得。容量是指切片目前可容納的最多元素個數,可通過內置函數cap()獲得。切片是引用類型,因此在當傳遞切片時將引用同一指針,修改值將會影響其他的對象。
a := []int{1, 2, 3, 4, 5} s1 := a[2:5] s2 := a[1:3] fmt.Println(s1, s2) s2 = append(s2, 1, 2, 2, 3, 3, 4, 5) s1[0] = 9 fmt.Println(s1, s2) s2 = append(s2,11,22,33) fmt.Println(s2) aa := []string{"aa","bb","xiaorui.cc"} aa = append(aa,"this is rfyiamcool.blog.51cto.com") fmt.Println(aa)
map結構也經常常用,它和python中的dict 幾乎一模一樣,是一個key-value的hash結構。key可以是除了func類型,array,slice,map類型之外的類型。
它的使用也是非常簡單
m:=map[string]string{}
m["key1"] = "val1"
map結構和slice是一樣的,是一個指針。賦值的時候是將指針復制給新的變量
map的增刪改查操作是這樣的:
今天就這樣了,有時間再寫
總結
以上是生活随笔為你收集整理的在golang编程中总结的基础语法及常见的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10g物理standby主备switch
- 下一篇: 64位LINUX下hadoop2.2.0