手把手帶你走進Go語言之常量解析
概述
Golang 是一個跨平臺的新生編程語言. 今天小白就帶大家一起攜手走進 Golang 的世界.
常量
常量 (Constant) 是指程序在執(zhí)行過程中不會改變的固定值. 常量可以是任何基本數(shù)據(jù)類型. 如整數(shù)常量, 浮點常量, 字符常量, 枚舉常量. 常量一般都會被編譯器視為常規(guī)變量, 只是常量的值不能再定義之后修改.
格式 1:
const 變量名 = 值
格式 2:
const 變量名 變量類型
例子:
package main import "fmt" func main() { // 方法一 const num1 = 1 // 方法二 const num2 int = 2 // 調(diào)試輸出 fmt.Println(num1, num2) }
輸出結(jié)果:
1 2
例 2:
package main import "fmt" func main() { // 字符串常量 const str1 = "我是小白呀" // 整數(shù)常量 const int1 = 1 // 浮點常量 const float1 = 1.2 // 布爾類型常量 const boolean1 = true // 調(diào)試輸出 fmt.Println(str1) fmt.Println(int1) fmt.Println(float1) fmt.Println(boolean1) }
輸出結(jié)果:
我是小白呀
1
1.2
true
常量計算
常量可以使用len()
, cap()
, unsafe.Sizeof()
函數(shù)計算表達式的值. 常量表達式中函數(shù)必須是內(nèi)置函數(shù), 否則編譯不過.
例子:
package main import "fmt" import "unsafe" // 定義常量 const ( str = "iamlittlewhite" num = 1 ) func main() { // 計算字符串長度 fmt.Println(len(str)) // 計算整數(shù)占用字節(jié) fmt.Println(unsafe.Sizeof(num)) }
輸出結(jié)果:
14
8
iota
iota 是 Go 語言的常量計數(shù)器, 只能在常量的表達式中使用. iota 在 const 關(guān)鍵字出現(xiàn)時將被重置為 0, const 中每新增一行常量, iota 就會計數(shù)一次. iota 可以幫助我們統(tǒng)計常量同一行代碼被訪問了多少次.
例子:
package main import "fmt" func main() { // 定義iota const ( a = iota b = iota c = iota d = iota ) // 調(diào)試輸出 fmt.Println(a, b, c, d) fmt.Println(a, d) }
輸出結(jié)果:
0 1 2 3
0 3
到此這篇關(guān)于手把手帶你走進Go語言之常量解析的文章就介紹到這了,更多相關(guān)Golang 常量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang線上內(nèi)存爆掉問題排查(pprof)與解決
這篇文章主要介紹了Golang線上內(nèi)存爆掉問題排查(pprof)與解決,涉及到數(shù)據(jù)敏感,文中代碼是我模擬線上故障的一個情況,好在我們程序都有添加pprof監(jiān)控,于是直接通過go tool pprof分析,需要的朋友可以參考下2024-04-04Golang自定義結(jié)構(gòu)體轉(zhuǎn)map的操作
這篇文章主要介紹了Golang自定義結(jié)構(gòu)體轉(zhuǎn)map的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12