go 第一章總結
1. 開發環境準備
go語言環境安裝
VS code配置go語言環境
2. Go語言基礎
2.1 變數和常量
(1) 識別符號與關鍵字
識別符號:就是程式語言中程式設計師定義的具有意義的詞,比如變數名,常量名,函式名等。
Go語言中的識別符號規範:由字母,數字和下劃線( _ )組成,並且只能以字母和下劃線開頭,比如Sub,_ ,_ABC123。
關鍵字:就是程式語言已經定義好的具有特殊含義的識別符號。關鍵字和保留字都不建議用作變數名。(自定義的變數名不要用關鍵字!)
Go語言中有25個關鍵字:
1 break default func interfaceselect 2 case defer go map struct 3 chan else goto package switch 4 const fallthrough if range type 5 continue for import return var
另外,GO語言中有37個保留字:
Constants: truefalse iota nil Types: int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr float32 float64 complex128 complex64 bool byte rune string error Functions: make len cap new append copy close delete complex real imag panic recover
(2)變數
1.變數型別
變數(Variable) 的作用是儲存資料。不同的變數儲存的資料型別可能會不一樣。不過現在的程式語言的資料型別相差不大,常見變數的資料型別有:整型、浮點型、布林型等。
2. 變數宣告
Go語言中的每一個變數都有自己的型別,並且變數需要聲明後才能使用,同一作用域內不支援重複宣告。
變數的標準宣告格式:
var 變數名 變數型別
變數宣告以關鍵字var 開頭,接著是變數名,變數型別放在變數後面,行尾無需分號。
例:
var age int var name string var isOK bool
批量宣告
每宣告一個變數就需要寫var
關鍵字會比較繁瑣,go語言中還支援批量變數宣告:
var ( a string b int c bool )
變數宣告的時候可以對其進行初始化操作。
變數初始化
Go語言在宣告變數的時候,會自動對變數對應的記憶體區域進行初始化操作。每個變數會被初始化成其型別的預設值,例如: 整型和浮點型變數的預設值為0
。 字串變數的預設值為空字串
。 布林型變數預設為false
。 切片、函式、指標變數的預設為nil
。
變數初始化使用 = 進行賦值。
var 變數名 型別 = 表示式
例如:
var name string = "fred" var age int = 18
或者一次初始化多個變數
var name, age = "fred", 20
型別推導:
變數的型別有時候也可省略,這個時候編譯器會根據等號右邊的值來推導變數的型別完成初始化。
var name = "Fred" var age = 18
短變數宣告:
在函式內部,可以使用 := 方式宣告並初始化變數。
package main import ( "fmt" ) // 全域性變數m var m = 100 func main() { n := 10 m := 200 // 此處宣告區域性變數m fmt.Println(m, n) }
匿名變數:
在使用多重賦值時,如果想要忽略某個值,可以使用匿名變數(anonymous variable)
。 匿名變數用一個下劃線_
表示,例如:
package main import ( "fmt" ) var m = 100 func foo() (int, string) { return 10, "Q1mi" } func main() { x, _ := foo() _, y := foo() fmt.Println("x=", x) fmt.Println("y=", y) }
匿名變數不佔用名稱空間,不會分配記憶體,所以匿名變數之間不存在重複宣告。 (在Lua
等程式語言裡,匿名變數也被叫做啞元變數。)
變數總結:
注意事項:
- 函式外的每個語句都必須以關鍵字開始(var、const、func等)
:=
不能使用在函式外。_
多用於佔位,表示忽略值。
(3) 常量
2.2 基本資料型別
2.3 運算子
2.4 流程控制
3. 章節作業