要學習golang,當然要先配置好相關環境啦。
1. Go 安裝包下載
https://studygolang.com/dl
在Windows下,直接下載msi文件,在安裝界面選擇安裝路徑,然后一直下一步就行了。
在cmd下輸入
go version
即可看到go安裝成功
2. Goland安裝
https://www.jetbrains.com/go/download/download-thanks.html?platform=windows
在官網下載安裝包
在安裝界面選擇安裝路徑,然后一直下一步就行了。
3. 變量
Go語言是靜態強類型語言,所以變量是有明確類型的。變量實質上就是在內存中的一小塊空間,用來存儲特定類型的可變數據。如果沒有變量我們的程序中只能將數值寫死都是靜態的數據,我們無法更改,變量可以讓我們進行動態的操作。在數學概念中變量表示沒有固定的值,可以隨時改變的數。 例如:除數,減數與被減數等。
3.1 如何聲明變量
聲明一個變量的語法為:var name type,例如
var age int //聲明 未賦值默認為0
語句 var age int 聲明了一個類型為 int,名稱為 age 的變量。在這里我們沒有給它賦任何值。如果一個變量沒有被賦予任何值,Go 會自動將這個變量初始化為其類型的 0值
3.2 如何賦值
在聲明變量時可以指定其初始值。
聲明一個帶初值的變量的語法為:var name type = initialvalue,例如:
var age int //聲明 未賦值默認為0
age = 18 //賦值//直接根據你所初始化的值,來推導出定義的數據類型
var name = "王鋼蛋"
name :="王鐵蛋"//簡短定義方式 聲明并賦值
age := 10
var age = 10
Go語言支持根據數據推導數據類型的方法。所以在定義的時候可以不用寫數據類型,直接根據你所初始化的值,來推導出定義的數據類型。如果聲明一個變量時提供了初始值,Go可以根據該初始值來自動推導變量的類型。因此如果聲明變量時提供了初始值,就可以不必指定其類型。
也就是說,如果聲明變量的形式為:var name = initialvalue,Go將根據 initialvalue 自動推導變量 name 的類型。
3.3 多變量定義
多個變量可以在一條語句中聲明。
多變量聲明的語法為:var name1, name2 type = initialvalue1, initialvalue2,例如:
//var方式聲明多變量var a,b,c inta=1 b=2 c=3
//也可以寫在一行
var a1,a2,a3 int =10,20,30
//也可以省略類型 根據數據進行類型推導var a1,a2,a3 =10,20,"ago"
//如果是多種類型 也可以使用集合
var(a1 =""a2 =10
)
簡短定義方式定義多個變量。 需要注意的是,一個變量在程序中只能夠定義一次,重復定義就會報錯。
3.4 速記聲明
Go 提供了另一種簡潔的聲明變量的方式。這種方式稱為速記聲明(shorthand declaratiion)。速記聲明使用 := 操作符來聲明變量。
速記聲明的語法為:name := initialvalue,例如:
age := 10age := 10
3.5 匿名變量
匿名變量也就是沒有名字的變量, 開發過程中可能會遇到有些變量不是必須的。匿名變量使用下劃線" _ " 表示。 “_” 也稱為空白標識符,任何類型都可以使用它進行賦值,而且任何類型賦值后都將直接被拋棄,所以在使用匿名變量時,表示后續代碼不需要再用此變量。
3.6 變量的作用域
變量在程序中有一定的作用范圍,如果一個變量聲明在函數體的外部,這樣的變量被認為是全局變量,全局變量在整個包內,也就是當前的package內都可以被調用得到。如果變量定義在函數體內部,則被稱之為局部變量。
注意:
- 相同的作用域內, 無論是全局變量還是局部變量, 都不能出現同名的變量
- 變量離開作用域就不能使用
- 局部變量如果沒有使用, 編譯會報錯, 全局變量如果沒有使用, 編譯不會報錯
- :=只能用于局部變量, 不能用于全局變量
- :=如果用于同時定義多個變量, 會有退化賦值現象,如果通過:=定義多個變量, 但是多個變量中有的變量已經在前面定義過了, 那么只會對沒有定義過的變量執行:=, 而定義過的變量只執行=操作
例如:
num2 := 123
num2, value2 := 456, 789
fmt.Printf("%d, %d", num2, value2) //456, 789