6 Go 語言常量

2021-08-29 03:04:36 字數 1559 閱讀 1880

常量是乙個簡單值的識別符號,在程式執行時,不會被修改的量。

常量中的資料型別只可以是布林型、數字型(整數型、浮點型和複數)和字串型。

常量的定義格式:

const identifier [type] = value
你可以省略型別說明符 [type],因為編譯器可以根據變數的值來推斷其型別。

多個相同型別的宣告可以簡寫為:

const c_name1, c_name2 = value1, value2
以下例項演示了常量的應用:

package main

import "fmt"

func main()

以上例項執行結果為:

面積為 : 50

1 false str

常量還可以用作列舉:

const (

unknown = 0

female = 1

male = 2

)

數字 0、1 和 2 分別代表未知性別、女性和男性。

常量可以用len(), cap(), unsafe.sizeof()函式計算表示式的值。常量表示式中,函式必須是內建函式,否則編譯不過:

package main

import "unsafe"

const (

a = "abc"

b = len(a)

c = unsafe.sizeof(a)

)func main()

以上例項執行結果為:

abc 3 16
iota,特殊常量,可以認為是乙個可以被編譯器修改的常量。

iota 在 const關鍵字出現時將被重置為 0(const 內部的第一行之前),const 中每新增一行常量宣告將使 iota 計數一次(iota 可理解為 const 語句塊中的行索引)。

iota 可以被用作列舉值:

const (

a = iota

b = iota

c = iota

)

第乙個 iota 等於 0,每當 iota 在新的一行被使用時,它的值都會自動加 1;所以 a=0, b=1, c=2 可以簡寫為如下形式:

const (

a = iotabc

)

package main

import "fmt"

func main()

以上例項執行結果為:

0 1 2 ha ha 100 100 7 8
再看個有趣的的 iota 例項:

package main

import "fmt"

const (

i=1《以上例項執行結果為:

i= 1

j= 6

k= 12

l= 24

iota 表示從 0 開始自動加 1,所以 i=1<<0, j=3<<1(<<表示左移的意思),即:i=1, j=6,這沒問題,關鍵在 k 和 l,從輸出結果看 k=3<<2,l=3<<3。

簡單表述:

**:

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...