golang第六課 go語言常量

2021-09-01 11:52:12 字數 1971 閱讀 8186

go 語言常量

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

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

常量的定義格式:

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

顯式型別定義: const b string = "abc"

隱式型別定義: const b = "abc"

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

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,特殊常量,可以認為是乙個可以被編譯器修改的常量。

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

)

iota 用法

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。

簡單表述:

i=1:左移 0 位,不變仍為 1;

j=3:左移 1 位,變為二進位制 110, 即 6;

k=3:左移 2 位,變為二進位制 1100, 即 12;

l=3:左移 3 位,變為二進位制 11000,即 24。

golang語言學習第六課 指標

指標,其實翻譯的過來後,一看有點嚇唬人,指標的英文是 pointer 字面上翻譯過來是指向者的意思。乙個指標變數指向了乙個值的記憶體位址。定義指標的方法 var指標變數名 指標變數型別 實際例子 var p int 指向整型,號用於指定變數是作為乙個指標 var fp float32 fp為浮點型指...

第六課 字型

a.字型系列 font family times new roman times,serif b.字型樣式 font style normal 正常 正常顯示文字 font style italic 斜體 以斜體字顯示的文字 font style oblique 傾斜的文字 文字向一邊傾斜 和斜體非...

第六課 列表

序列是python中最基本的 種資料結構。序列 於儲存 組有序的資料,所有的資料在序列當中都有 個唯 的位置 索引 並且序列中的資料會按照新增的順序來分配索引。資料結構指計算機中資料儲存的 式。python 基礎教程 第二版 對序列的定義為 資料結構。資料結構是通過某種方式 例如對元素進行編號 組織...