辨別符和關鍵字
辨別符
辨別符隻能以字母和
_
組成,并且隻能以字母和
_
開頭。
關鍵字
Go中有25個關鍵字:
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
變量
變量聲明
變量需要先聲明,再使用。其文法如下:
var name string
其資料類型有:
- string,字元串
- int,整型
- bool,布爾型
上面這種是一個變量一個變量的聲明,go也有批量聲明方式:
var (
name string
age int
isBoy bool
)
變量的初始化:
func main(){
name = "joker"
age = 18
isBoy = true
}
注意:
Go語言中非全局變量聲明了必須使用,不使用則編譯不過去。
變量還可以聲明的同時并指派:
var name string = "Joker"
也可以根據值來判斷變量是什麼類型:
var age = 14
還可以用簡短變量聲明(隻能在函數體裡使用):
name := "Joker"
fmt.Print(name)
匿名變量
匿名變量不占用命名空間,不會配置設定記憶體,是以匿名變量之間不存在重複聲明。
匿名變量用
_
來表示,如下:
func foo(int, string){
return 10, "Joker"
}
func main(){
x, _ = foo()
_, y = foo()
}
注意事項
- 函數外的每個語句都必須以關鍵字開頭,例如
var
等;func
- :=不能使用在函數體外;
-
多用于占位符,表示忽略值;_
- 同一個作用域中不能重複聲明同名的變量;
常量
常量是恒定不變的值,聲明常量的關鍵字是
const
。
常量在定義的時候必須指派,如下:
const c1 = 3.14159
多個常量也可以一起聲明,如下:
const (
c1 = 3.14
c2 = 0.68
)
在批量聲明常量的時候,如果其中有一個常量沒有指派,其内容和上一個常量一樣,如下c2,c3的内容也為200:
const (
c1 = 200
c2
c3
)
iota
iota
是go語言中的一種常量計數器,隻能在常量的表達式中使用。
iota
在
const
關鍵字出現的時候被重置為0,
const
中的變量每聲明一行常量聲明将使
iota
計數一次,
iota
可了解為是
const
語句塊中的行索引,使用
iota
能簡化定義,在定義枚舉時很有用,如下:
const (
n1 = iota // n1=0
n2 // n2=1
n3 // n3=2
)
幾種常見的用法:
(1)使用
_
跳過某些值
const (
n1 = iota //0
n2 //1
_
n4 //3
)
const (
n1 = iota //0
n2 = 100 //100
n3 = iota //2
n4 //3
)
const n5 = iota //0
const (
_ = iota
KB = 1 << (10 * iota)
MB = 1 << (10 * iota)
GB = 1 << (10 * iota)
TB = 1 << (10 * iota)
PB = 1 << (10 * iota)
)
const (
a, b = iota + 1, iota + 2 //1,2
c, d //2,3
e, f //3,4
)