首頁 >後端開發 >Golang >為什麼我不能在 Golang 中聲明常數映射?

為什麼我不能在 Golang 中聲明常數映射?

Susan Sarandon
Susan Sarandon原創
2024-11-14 20:48:021010瀏覽

Why can't I declare a constant map in Golang?

錯誤:Golang 對常數映射的限制

在Golang 中,嘗試像下面這樣聲明常數映射將導致錯誤:

const (
    running = map[string]string{
        "one": "ONE",
        "two": "TWO",
    }
)

原因限制

此錯誤源自於Golang 將常數值限制為特定型別。根據語言規範,只有以下內容可以宣告為常數:

  • Rune
  • Integer
  • Floating-point
  • Imaginary
  • Floating-point
  • Imaginary
  • Floating-point
  • Imaginary
  • Floating-point
  • Imaginary
  • Floating-point
  • 字串
  • 表示一個的標識符常數

常數表達式內建函數的結果值(例如unsafe.Sizeof、cap、len、real、imag、complex )

映射的本質數組、切片和映射不是包含在允許的常數類型列表中。雖然映射看起來與數組和切片類似,因為它們具有索引結構,但它們不被視為數字類型,因此不能聲明為常數。

以上是為什麼我不能在 Golang 中聲明常數映射?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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