常量是乙個簡單值的識別符號,在程式執行時,不會被修改的量。
常量中的資料型別只可以是布林型、數字型(整數型、浮點型和複數)和字串型。
常量的定義格式:
const identifier [type] = value你可以省略型別說明符 [type],因為編譯器可以根據變數的值來推斷其型別。
多個相同型別的宣告可以簡寫為:
const c_name1, c_name2 = value1, value2以下例項演示了常量的應用:
package main以上例項執行結果為:import "fmt"
func main()
面積為 : 50常量還可以用作列舉:1 false str
const (數字 0、1 和 2 分別代表未知性別、女性和男性。unknown = 0
female = 1
male = 2
)
常量可以用len(), cap(), unsafe.sizeof()函式計算表示式的值。常量表示式中,函式必須是內建函式,否則編譯不過:
package main以上例項執行結果為:import "unsafe"
const (
a = "abc"
b = len(a)
c = unsafe.sizeof(a)
)func main()
abc 3 16iota,特殊常量,可以認為是乙個可以被編譯器修改的常量。
iota 在 const關鍵字出現時將被重置為 0(const 內部的第一行之前),const 中每新增一行常量宣告將使 iota 計數一次(iota 可理解為 const 語句塊中的行索引)。
iota 可以被用作列舉值:
const (第乙個 iota 等於 0,每當 iota 在新的一行被使用時,它的值都會自動加 1;所以 a=0, b=1, c=2 可以簡寫為如下形式:a = iota
b = iota
c = iota
)
const (a = iotabc
)
package main以上例項執行結果為:import "fmt"
func main()
0 1 2 ha ha 100 100 7 8再看個有趣的的 iota 例項:
package mainiota 表示從 0 開始自動加 1,所以 i=1<<0, j=3<<1(<<表示左移的意思),即:i=1, j=6,這沒問題,關鍵在 k 和 l,從輸出結果看 k=3<<2,l=3<<3。import "fmt"
const (
i=1《以上例項執行結果為:
i= 1
j= 6
k= 12
l= 24
簡單表述:
**:
6Go語言基礎之陣列
本文是李文周的部落格go語言學習之路的目錄提要版,方便複習檢視使用,原文參見文章連線 本文主要介紹go語言中陣列 array 及它的基本使用。陣列定義 var a 3 intvar b 4 inta b 不可以這樣做,因為此時a和b是不同的型別陣列初始化 var array1 3 int 預設值填充...
6 go 流程控制
1 如果只有一條語句,大括號不能省略 a 10 if a 11 else 2 右括號 和 else 在一行 3 支援 if 時可以定義變數 if a 10 a 9 4 if 的風格盡量不要加括號,用空格代替 5 多分支 a 6 if a 11 else if a 8 a 11 else 1 swit...
GO學習 6 Go語言基礎之運算子
運算子用於在程式執行時執行數學或邏輯運算。go 語言內建的運算子有 算術運算子 關係運算子 邏輯運算子 位運算子 賦值運算子 運算子描述 相加 相減 相乘 相除 求餘 注意 自增 和 自減 在go語言中是單獨的語句,並不是運算子。運算子描述 檢查兩個值是否相等,如果相等返回 true 否則返回 fa...