首頁 > 後端開發 > Golang > go語言常量有多少種

go語言常量有多少種

青灯夜游
發布: 2023-01-09 10:39:54
原創
1750 人瀏覽過

go語言常數有5種:布林型常數、整數型常數、浮點型常數、複數常數、字串型常數。 Go語言中的常數使用關鍵字const定義,用於儲存不會改變的數據,常數是在編譯時被創建的,即使定義在函數內部也是如此,並且只能是布林型、數字型(整數型、浮點型和複數)和字串型。

go語言常量有多少種

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

常數是指程式在執行過程中可能不會改變的固定值。這些固定值也稱為文字。

常數是程式中最基礎的元素,定義之後就不能再重新賦值了。

Go語言中的常數使用關鍵字const 定義,用於儲存不會改變的數據,常數是在編譯時被創建的,即使定義在函數內部也是如此,並且只能是布林型、數字型(整數型、浮點型和複數)和字串型。由於編譯時的限制,定義常數的表達式必須為能被編譯器求值的常數表達式。

布林常數

布林常數只有兩個取值,真(true)或假(false)。

程式碼如下:

const x = true
fmt.Print(x) //输出true
登入後複製

整數常數

#整數常數其實就是正數

程式碼如下:

const x = 20
fmt.Print(x) //输出20
登入後複製

浮點數常數

浮點數常數其實就是小數

程式碼如下:

cOnstx= 0.618
fmt.Print(x) //输出%f0.618
登入後複製

字元/字串常數

程式碼如下:

const x = 'a'
fmt.Print(x) //输出97

const x = "a"
fmt.Print(x) //输出a
登入後複製

複數常數

#程式碼如下:

const x = 3 + 2i
fmt.Print(x) //输出%v(3+2i)
登入後複製

仔細看的童靴會發現'a '和”a”的輸出值不一樣,單引號的'a'表示字符,雙引號的”a”表示字串。在Go語言裡 '1′,」1″,1是不一樣的值,這個和C語言是一樣的。有興趣的童靴可以自己試試看輸出試試看。

擴充知識:無型別常數

Go語言的常數有個不尋常之處。雖然一個常數可以有任意一個確定的基礎類型,例如 int 或 float64,或者是類似 time.Duration 這樣的基礎類型,但是許多常數並沒有一個明確的基礎類型。

編譯器為這些沒有明確的基礎類型的數字常數提供比基礎類型更高精度的算術運算,可以認為至少有 256bit 的運算精度。這裡有六種未明確類型的常數類型,分別是無類型的布林型、無類型的整數、無類型的字元、無類型的浮點數、無類型的複數、無類型的字串。

透過延遲明確常數的具體類型,不僅可以提供更高的運算精度,而且可以直接用於更多的表達式而不需要顯式的類型轉換。

【範例1】math.Pi 無類型的浮點數常數,可以直接用於任意需要浮點數或複數的地方:

var x float32 = math.Pi
var y float64 = math.Pi
var z complex128 = math.Pi
登入後複製

如果math.Pi 被確定為特定類型,例如float64,那麼結果精確度可能會不一樣,同時對於需要float32 或complex128 類型值的地方則需要一個明確的強制型別轉換:

const Pi64 float64 = math.Pi
var x float32 = float32(Pi64)
var y float64 = Pi64
var z complex128 = complex128(Pi64)
登入後複製

【相關推薦:Go影片教學程式設計教學

以上是go語言常量有多少種的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板