GO語言學習筆記(一)
阿新 • • 發佈:2018-11-19
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語言學習筆記(一)