Go語言 之 變數宣告
阿新 • • 發佈:2021-05-11
宣告變數
能宣告的資料型別:
https://www.runoob.com/go/go-data-types.html
變數可以宣告為全域性變數和區域性變數,在函式外宣告為全域性變數,函式內宣告為區域性變數
宣告變數方式為 var 變數名 資料型別
package main
var age int;
func main(){
var name string;
var flag bool
}
最新版本中go可以不用宣告資料型別,通過插入的值作為判斷來宣告變數型別
var age = 1;
var name = "小明"
需要注意的一點是,宣告區域性變數不引用會報錯並且無法編譯,而全域性變數並不會有這個問題
引用後就能正常使用
批量宣告
宣告變數時可以一次性宣告多個變數 需要用var ()
包含在內
var (
age = 1
flag = true
)
簡短變數宣告
該宣告方法僅限在函式內使用,是根據賦值型別判斷該變數資料型別方法
import "fmt"
func main(){
name := "xiaoming"
fmt.println(name)
}
常量
宣告時將 var
換成 const
,常量宣告必須賦值,聲明後,該變數值一般不會更改
const n = 1
也可以做批量宣告
const (
n1 = 100
n2 = 200
)
常量的批量宣告時,若後面的變數沒有宣告值的話,會自動賦值為上面最近的值
import "fmt"
const (
n1 = 100
n2 = 200
n3
n4
)
func main() {
fmt.Println(n1,n2,n3,n4)
}
iota
iota
是go語言的常量計數器,只能在常量的表示式使用
iota
在const
關鍵字時出現被重置為0。const中每新增一行常量宣告將使iota
計數一次,定義列舉時會很有用。
const (
n1 = iota // 0
n2 // 1
n3 // 2
n4 // 3
)
當變數宣告在一行時
const (
n1,n2 = iota + 1,iota + 2 // n1: 1, n2: 2 iota == 0
n3,n4 = iota + 1,iota + 2 // n3: 2, n4: 3 iota == 1
)
定義數量級
const (
_ = iota // _ 將 0 的值忽略
KB = 1 << (iota * 10) // 2的10次方
MB = 1 << (iota * 10) // 2的20次方
GB = 1 << (iota * 10) // 2的30次方
TB = 1 << (iota * 10) // 2的40次方
PB = 1 << (iota * 10) // 2的50次方
)
匿名變數
匿名變數通常用_
表示,他不會被分配記憶體空間,常用於忽略函式返回值
const (
n1 = iota // 0
n2 // 1
_ // 2
n3 // 3
)