Go基础编程:命名、变量、常量
命名
Go語言中的函數名、變量名、常量名、類型名、語句標號和包名等所有的命名,都遵循一個簡單的命名規則:一個名字必須以一個字母(Unicode字母)或下劃線開頭,后面可以跟任意數量的字母、數字或下劃線。大寫字母和小寫字母是不同的:heapSort和Heapsort是兩個不同的名字。
Go語言中類似if和switch的關鍵字有25個(均為小寫)。關鍵字不能用于自定義名字,只能在特定語法結構中使用。
? ? ? ? ? ? ??
此外,還有大約30多個預定義的名字,比如int和true等,主要對應內建的常量、類型和函數。
? ? ? ? ? ? ?
?
變量
變量是幾乎所有編程語言中最基本的組成元素,變量是程序運行期間可以改變的量。
從根本上說,變量相當于是對一塊數據存儲空間的命名,程序可以通過定義一個變量來申請一塊數據存儲空間,之后可以通過引用變量名來使用這塊存儲空間。
變量聲明
Go語言的變量聲明方式與C和C++語言有明顯的不同。對于純粹的變量聲明, Go語言引入了關鍵字var,而類型信息放在變量名之后,示例如下:
var v1 intvar v2 int//一次定義多個變量var v3, v4 int var (v5 intv6 int)變量初始化
對于聲明變量時需要進行初始化的場景, var關鍵字可以保留,但不再是必要的元素,如下所示:
var v1 int = 10 // 方式1var v2 = 10 // 方式2,編譯器自動推導出v2的類型v3 := 10 // 方式3,編譯器自動推導出v3的類型//出現在 := 左側的變量不應該是已經被聲明過var v4 intv4 := 2 //err變量賦值
var v1 intv1 = 123var v2, v3, v4 intv2, v3, v4 = 1, 2, 3 //多重賦值i := 10j := 20i, j = j, i //多重賦值匿名變量
_(下劃線)是個特殊的變量名,任何賦予它的值都會被丟棄:
_, i, _, j := 1, 2, 3, 4func test() (int, string) {return 250, "sb" }_, str := test()常量
在Go語言中,常量是指編譯期間就已知且不可改變的值。常量可以是數值類型(包括整型、浮點型和復數類型)、布爾類型、字符串類型等。
字面常量(常量值)
所謂字面常量(literal),是指程序中硬編碼的常量,如:
123 3.1415 // 浮點類型的常量 3.2+12i // 復數類型的常量 true // 布爾類型的常量 "foo" // 字符串常量常量定義
const Pi float64 = 3.14const zero = 0.0 // 浮點常量, 自動推導類型const ( // 常量組size int64 = 1024eof = -1 // 整型常量, 自動推導類型)const u, v float32 = 0, 3 // u = 0.0, v = 3.0,常量的多重賦值const a, b, c = 3, 4, "foo"// a = 3, b = 4, c = "foo" //err, 常量不能修改iota枚舉
const (x = iota // x == 0y = iota // y == 1z = iota // z == 2w // 這里隱式地說w = iota,因此w == 3。其實上面y和z可同樣不用"= iota" )const v = iota // 每遇到一個const關鍵字,iota就會重置,此時v == 0const (h, i, j = iota, iota, iota //h=0,i=0,j=0 iota在同一行值相同 )const (a = iota //a=0b = "B"c = iota //c=2d, e, f = iota, iota, iota //d=3,e=3,f=3g = iota //g = 4 )?
總結
以上是生活随笔為你收集整理的Go基础编程:命名、变量、常量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Go基础编程:环境搭建
- 下一篇: Go基础编程:基础数据类型