1. 程式人生 > >GO語言學習筆記(一)

GO語言學習筆記(一)

lee 浮點 lds 問題 chan str 布爾 創建 當前

GO語言學習筆記

1.數組切片slice:可動態增長的數組

2.錯誤處理流程關鍵字:defer panic recover

3.變量的初始化:以下效果一樣

`var a int = 10`
`var a = 10`
`a := 10` (推薦寫法)
註意::= 左側的變量不能是被聲明過的

4.定義常量:const關鍵字定義常量

5.以大寫字母開頭的常量在包外可見

6.Go語言內置的數據類型:

  • 布爾型 bool
  • 整形 int8、int16
  • 浮點型 float32、64
  • 復數 complex64
  • 字符串 string
  • 字符類型 rune
  • 錯誤類型 error
  • 指針 pointer
  • 數組 array
  • 切片 slice
  • 字典 map
  • 通道 chan
  • 結構體 struct
  • 接口 interface

7.字符串的聲明和賦值

  • var str string
  • str = "alisleepy"
  • 取字符串第一個字符:ch := str[0]

8.獲取字符串長度函數:len(str)

9.獲取數組長度的函數:arrLength := len(array)

10.創建切片slice:

1.基於已有的數組:
`var myArr [5] int = [5] int{1,2,3,4,5}`
`var myslice [] int = myArr[:]` //基於myArr所有元素創建切片
`myslice = myArr[:5]` //基於前五個數組元素創建切片

2.直接創建切片:make
`myslice := make([] int 5)` //創建初始元素個數為5的數組切片,元素初始值為0

11.獲取數組切片分配的空間大小:cap(myslice)

12.獲取數組切片中當前存儲的元素個數:len(myslice)

13.常見問題1:定義的數據沒使用,編譯出錯,所以定義的數據必須使用,不使用就不需要定義

14.代碼寫完後執行: 在代碼當前目錄cmd執行:go run test.go 就可以看到結果

15.編輯代碼: 在代碼當前目錄cmd執行: go build test.go 就可以看到生成的.exe文件

16.切片新增元素,即追加元素: append(被增加的切片,追加的元素)

第二個參數:追加的元素是一個不定參數,可以直接是多個增加的元素,也可以是一個數組切片
例如:原切片:slice := make([] int, 5, 10) //切片有五個元素,預留了10個存儲空間
原切片追加元素:slice := append(slice, 1, 2, 3)  //直接增加元素
第二種追加方法:在slice後追加slice2
            slice2 := make([] int{8,9,10})  //三個元素的切片
            slice := append(alice, slice2...) //**註意,在參數2後邊有三個點

17.基於數組切片創建數組切片:創建數組切片不僅可以基於數組,還可以基於已有的切片創建新的切片

例如:
    oldslice := [] int{1,2,3,4,5} //已有的切片
    newslice := oldslice[:3]      //基於oldslice的前三個元素創建的新的切片

18.切片的內容復制:copy(slice1, slice2) //把slice2的內容復制給slice1,復制時兩個切片不一樣大,按照較小的數組切片的元素個數進行復制,比如,slice1有5個元素,slice2有3個元素,執行上述函數,只會講slice2的3個元素到slice1中

GO語言學習筆記(一)