1. 程式人生 > >go基礎語法-常量與枚舉

go基礎語法-常量與枚舉

大寫 import 需要 枚舉類型 file fun ava package code

常量與枚舉

1.常量定義

用const關鍵字修飾常量名並賦值,常量命名不同於java等語言,golang中一般用小寫,因為在golang中首字母大寫表示public權限

const a = 3

2.常量使用

使用數值常量進行運算時不需要進行強制類型轉換,編譯器會自動識別

const a,b = 3,4
var c int
c = int (math.Sqrt((a*a+b*b)))

3.枚舉類型

golang沒有特殊的關鍵字表示枚舉,直接用const聲明一組常量即可

const (
    c      = 0
    cpp    = 1
    scala  = 2
    python = 3
    golang = 4
    )

4.自增枚舉

定義時,讓第一個枚舉值等於iota,後面的枚舉不用賦值,編譯器會自動賦值,iota:0開始以1為步進自增

const (
    c      = iota
    cpp
    scala
    python
    golang
    )

測試代碼

package main
import (
    "fmt"
    "math"
)
/*
常量定義
 */
func consts() {
    const (
        fileName = "abc.txt"
        a, b     = 3, 4
    )
    var c int
    c = int(math.Sqrt((a*a + b*b))) //不需要強制類型轉換
    fmt.Println(c, fileName)
}
/*
普通枚舉
 */
func enums() {
    const (
        c      = 0
        cpp    = 1
        scala  = 2
        python = 3
        golang = 4
    )
    fmt.Println(c, cpp, scala, python, golang)
}
/*
自增枚舉
 */
func iotaEnums(){
    //普通自增
    const (
        c      = iota
        cpp
        scala
        _           //占位符
        golang
    )
    //程序員自增
    const (
        b = 1 << (10*iota)
        kb
        mb
        gb
        tb
        pb
    )
    fmt.Println(golang,scala,cpp,c)
    fmt.Println(b,kb,mb,gb,tb,pb)
}
func main() {
    consts()
    enums()
    iotaEnums()
}

go基礎語法-常量與枚舉