首頁  >  文章  >  後端開發  >  golang 為什麼沒有枚舉

golang 為什麼沒有枚舉

(*-*)浩
(*-*)浩原創
2019-12-31 10:59:314177瀏覽

golang 為什麼沒有枚舉

在c#、java等高階語言中,常會用到枚舉型別來表示狀態等。

在golang中並沒有枚舉型別,可以使用const來模擬列舉型別。                                    (建議學習中:go

112、Long這種變數能設定為已經定義的一組之中的一個,有效地防止使用者提供無效值。此變數可使程式碼更加清晰,因為它可以描述特定的值。

type PolicyType int32const (
    Policy_MIN      PolicyType = 0
    Policy_MAX      PolicyType = 1
    Policy_MID      PolicyType = 2
    Policy_AVG      PolicyType = 3)
}

這裡定義了一個新的型別PolicyType,並且定義了4個常數(Policy_MIN, Policy_MAX, Policy_MID, Policy_AVG),類型是PolicyType。

使用範例

func foo(p PolicyType) {
    fmt.Printf("enum value: %v\n", p)}func main() {
    foo(Policy_MAX)}

執行結果

$ go build && ./main
enum value: 1

以上是golang 為什麼沒有枚舉的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn