1. 程式人生 > 其它 >Golang語言社群--Go語言基礎第三節常量

Golang語言社群--Go語言基礎第三節常量

大家好,我是彬哥;今天繼續我們的基礎課程的講解,本篇給大家講解的是關於Go語言常量的知識。那麼在程式語言中何為常量?常量解釋如下:

常量

在Go語言中,常量是指編譯期間就已知且不可改變的值。

1、字面常量

-1024       // 整型常量
10.24       // 浮點型常量
10.2+4i       // 複數型別的常量
true         // 布林型常量
"Golang"     // 字串常量

在Go語言中,字面常量沒有型別,只要這個常量在相應型別的值域範圍內,就可以作為該型別的常量,比如上面的常量-1024,可以賦值給int、uint、int32、int64、float32、float64、complex64、complex128等型別的變數。

2、const常量

通過const常量,可以給字面常量指定一個友好的名字:

const Pi float64 = 3.1415
const zero = 0.0    //無型別浮點常量
cosnt (
    size int64 = 1024
    eof = -1      //無型別整型常量   
)
const u,v float32 = 0, 3
const a,b,c = 3,4,"Golang"
const mask = 1<<3

常量的賦值是一個編譯期行為,所以右值不能出現任何需要執行期才能得出結果的表示式,例如:

const Golang string = "www.golang.Ltd"    // error

3、預定義常量

Go語言預定義常量有:true、false、iota,前兩個為bool常量;

iota是一個可被編譯器修改的常量,在每一個const關鍵字出現時被重置為0,然後在下一個const出現之前,每出現一次iota,其所代表的數字會自動增1,例如:

const (          
    Golang0 = iota   // Golang=0 
    Golang1 = iota   // Golang1=1 
    Golang2 = iota   // Golang2=2 
)

另外一種寫法也是可以的這個和下面講的列舉一致,例如:

const (          
    Golang0 = iota   // Golang=0 
    Golang1          // Golang1=1 
    Golang2          // Golang2=2 
)

4、列舉

在const後跟一對園括號的方式定義一組常量,例如:

const (         
    Sunday = iota   
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    )

同Go語言的其他符號一樣,以大寫字母開頭的常量在包外可見;後面講解函式的時候,會給大家著重說明。