GO語言學習筆記(一)

2022-05-03 07:36:12 字數 1395 閱讀 2500

1.陣列切片slice:可動態增長的陣列

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

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

`var a int = 10`

`var a = 10`

`a := 10` (推薦寫法)

注意::= 左側的變數不能是被宣告過的

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

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

6.go語言內建的資料型別:

7.字串的宣告和賦值

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

9.獲取陣列長度的函式:arrlength := len(array)

10.建立切片slice:

1.基於已有的陣列:

`var myarr [5] int = [5] int`

`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就可以看到結果

第二個引數:追加的元素是乙個不定引數,可以直接是多個增加的元素,也可以是乙個陣列切片

例如:原切片:slice := make( int, 5, 10) //切片有五個元素,預留了10個儲存空間

第二種追加方法:在slice後追加slice2

slice2 := make( int) //三個元素的切片

17.基於陣列切片建立陣列切片:建立陣列切片不僅可以基於陣列,還可以基於已有的切片建立新的切片

例如:

oldslice := int //已有的切片

newslice := oldslice[:3] //基於oldslice的前三個元素建立的新的切片

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

go語言學習筆記一

package main 引入fmt庫 import fmt math math cmplx func variablezerovalue func main 定義初值 func variableinitialvalue 可以不定義型別 如果定義了型別就必須遵守 func variabletyped...

Go語言學習筆記一

go 是乙個開源的程式語言,它能讓構造簡單 可靠且高效的軟體變得容易。go是從2007年末由robert griesemer,rob pike,ken thompson主持開發,後來還加入了ian lance taylor,russ cox等人,並最終於2009年11月開源,在2012年早些時候發布...

go語言學習筆記

type info struct func main fmt.println info1 data,json.marshal info1 fmt.println string data 輸出 這裡要特別注意的是 json 冒號後面和雙引號之間千萬不要有空格!被坑慘了 go語言 import的包的前面...