淺談 Golang 變數與常數:宣告、初始化與使用

閱讀時間約 4 分鐘
raw-image

👨‍💻簡介

在 Golang 中,你可以使用不同的方式來宣告變數和常數。宣告變數時,可以直接指定值,或者使用型別推導,更簡單地用 := 來宣告局部變數。另外,還可以一次宣告多個變數,相同型別的變數可以一起宣告,或者使用括號宣告不同型別的變數。常數則使用 const 關鍵字宣告,確保值不變,有助於提高程式碼的可讀性和穩定性。

變數的聲明

在 Golang 裡,變數是程式中保存資料的容器。變數名稱由字母、數字、底線組成,但首個字符不能是數字。Golang 的關鍵字和保留字都不能用作變數名稱。

變數的宣告和初始化方式多種多樣,在使用變數之前,需要先聲明變數。在同一範圍內,不允許重複聲明相同的變數。而且,一旦聲明變數,就必須在之後的程式碼中使用它。

如果變數在聲明後沒有進行初始化,則打印出來的值將是空的。

如何定義變數

單變數宣告

  1. 普通聲明(variable declaration) 使用 var 關鍵字進行普通聲明,然後指定變數名稱和類型,再賦予初始值。
var name string
name = "Alan"

2. 帶初始化的聲明(direct define): 可以直接指定變數的類型和初始值。

var age int = 25

也可以省略類型,讓變數類型根據初始值自動推斷。

var age = 25

3. 簡短變數聲明(short declaration) 在函式內部,可以使用簡化的 := 語法同時宣告並初始化變數。

注意:簡短變數聲明只能用於局部變數,不能用於全局變數的聲明。

foo := "hello"
bar := 100

多變數宣告

  1. 普通聲明 您可以同時宣告多個相同類型的變數。
var a, b int
a = 10
b = 20

2. 帶初始化的聲明(direct define): 可以直接指定多個變數的類型和初始值。

var x, y int = 5, 8

也可以省略類型,讓變數類型根據初始值自動推斷。

var x, y = 5, 8

3. 使用簡短變數聲明: 同樣也可以使用簡化的 := 語法同時宣告多個變數。

x, y := 5, 8

4. 使用括號的平行賦值 使用括號 () 可以同時宣告多個不同類型的變數並賦予初始值。

var(
foo string
bar int
)

var (
foo = 5
bar = "abc"
)
var (
name string = "Alice"
age int = 25
country string = "USA"
)

匿名變數

使用 _ 符號表示匿名變數,適用於不需要使用的變數。

_, result := calculateSomething()

常數的定義與使用

常數是不會變動的值,可用於定義程式運行期間不會改變的數值。使用 const 關鍵字宣告常數,確保值不變,增強程式碼可讀性和穩定性。

常數的聲明與變數的聲明非常相似,只需將 var 改成 const,並在聲明時必須賦值。

// 定義常數 pi,可以在程式的任何地方使用
const pi = 3.14

// 同時宣告兩個常數
const(
A = "A"
B = "B"
)
// 同時宣告多個常數,省略值則與上一行相同
const(
A = "A"
B
C
)

使用 iota 的 Const 常數

iota 是 Golang 的常數計數器,僅能在常數表達式中使用。iota 在每次出現 const 關鍵字時,都會重置為 0(位於 const 區塊的第一行之前)。每新增一行常數聲明,iota 計數一次。

const a = iota // a = 0
const (
b = iota // b = 0
c // c = 1
d // d = 2
)

// 可在一開始即決定初始值
const (
b = iota+1 // b = 1
c // c = 2
d // d = 3
)
// 使用 _ 跳過某些值
const (
b = iota // b = 0
_
d // d = 2
)

📚Reference

17會員
81Content count
golang
留言0
查看全部
發表第一個留言支持創作者!
wang alan的沙龍 的其他內容
👨‍💻簡介 在這篇文章裡,會簡單介紹幾個關鍵的基本概念和語法結構,加快上手這門程式語言。
👨‍💻如何在go中驗證SSL憑證 因之前玩過監控證書,最近在接觸golang因此來看看有甚麼方法能夠取得憑證到期日,最後發現有crypto/tls這個module可以用,驗證步驟簡單三步如下
👨‍💻簡介 在這篇文章裡,會簡單介紹幾個關鍵的基本概念和語法結構,加快上手這門程式語言。
👨‍💻如何在go中驗證SSL憑證 因之前玩過監控證書,最近在接觸golang因此來看看有甚麼方法能夠取得憑證到期日,最後發現有crypto/tls這個module可以用,驗證步驟簡單三步如下
你可能也想看
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
可能包含敏感內容
2020 年年初開始的一場疫情,讓全世界各地陷入了封鎖國境的狀況。好不容易疫情過去,泰國也在 2022 年的下半年陸續開放國境迎接觀光客。不過當我們回到泰國重返情色行業時,發現整體的生態有些改變。像是曼谷的狗狗吧(Go Go Bar)就有著很大的改變,這篇文章淫狐就來談談它的變化。
Thumbnail
Spark GO的大小還不到一個手掌,外觀就像個藍芽喇叭,但他毫無疑問是個吉他音箱,並且內建了33顆音箱模擬,和43種效果。
Thumbnail
傳說只要一出國之後,人設也會跟著改變, 這句話果然是真的....
Thumbnail
當一顆種子天天被陽光露水,折磨在潮濕悶熱的土壤裡時,你我不會感到惋惜,因為曉得這是刺激生命更燦爛的關鍵,但倘若你我就是那顆種子,就是正被困住、被壓迫在毫無自由的階段裡,還能相信自己的未來很燦爛嗎? 圖片摘自臉書「家政夫的悄悄話」。 最近因著寒假的緣故,家政夫有機會坐在書桌前,一邊調整三条老師的錄音內
Thumbnail
我的旅行規劃方式是訂好機票跟住宿,列出想去的景點依據交通去安排路線,只要先建構出相關地理位置概念就可以了
Thumbnail
一直以來不敢踏入吃素的行列,雖然知道吃素對世界好處多多,但總覺得身體會處在長期慢性缺乏蛋白質的狀態。但事實上,我才執行兩週,好處之明顯,讓我非常興奮,不得不打在這裡跟大家分享。
Thumbnail
完整標題:go on 與「繼往走向」或「繼往開來」及「繼」、「續」、「繼續」、「接續」、「启開」、「正昂」、「發生」等的轉換密碼
Thumbnail
完整標題:go 與「之」、「至」、「至于」、「到」、「到于」、「前往」、「進往」、「步往」、「走」、「走于」、「走往」、「行」、「行于」、「行往」、「行走」、「去」、「過」、「過去」、「過于」、「步」、「步于」、「步往」、「步行」、「機遇」、「行旺」等的轉換密碼
Thumbnail
完整標題:go around 與「逛」、「觀覽」、「交往」、「相處」、「走訪」、「轉繞圓動」等的轉換密碼及「天狼星」之謎
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
可能包含敏感內容
2020 年年初開始的一場疫情,讓全世界各地陷入了封鎖國境的狀況。好不容易疫情過去,泰國也在 2022 年的下半年陸續開放國境迎接觀光客。不過當我們回到泰國重返情色行業時,發現整體的生態有些改變。像是曼谷的狗狗吧(Go Go Bar)就有著很大的改變,這篇文章淫狐就來談談它的變化。
Thumbnail
Spark GO的大小還不到一個手掌,外觀就像個藍芽喇叭,但他毫無疑問是個吉他音箱,並且內建了33顆音箱模擬,和43種效果。
Thumbnail
傳說只要一出國之後,人設也會跟著改變, 這句話果然是真的....
Thumbnail
當一顆種子天天被陽光露水,折磨在潮濕悶熱的土壤裡時,你我不會感到惋惜,因為曉得這是刺激生命更燦爛的關鍵,但倘若你我就是那顆種子,就是正被困住、被壓迫在毫無自由的階段裡,還能相信自己的未來很燦爛嗎? 圖片摘自臉書「家政夫的悄悄話」。 最近因著寒假的緣故,家政夫有機會坐在書桌前,一邊調整三条老師的錄音內
Thumbnail
我的旅行規劃方式是訂好機票跟住宿,列出想去的景點依據交通去安排路線,只要先建構出相關地理位置概念就可以了
Thumbnail
一直以來不敢踏入吃素的行列,雖然知道吃素對世界好處多多,但總覺得身體會處在長期慢性缺乏蛋白質的狀態。但事實上,我才執行兩週,好處之明顯,讓我非常興奮,不得不打在這裡跟大家分享。
Thumbnail
完整標題:go on 與「繼往走向」或「繼往開來」及「繼」、「續」、「繼續」、「接續」、「启開」、「正昂」、「發生」等的轉換密碼
Thumbnail
完整標題:go 與「之」、「至」、「至于」、「到」、「到于」、「前往」、「進往」、「步往」、「走」、「走于」、「走往」、「行」、「行于」、「行往」、「行走」、「去」、「過」、「過去」、「過于」、「步」、「步于」、「步往」、「步行」、「機遇」、「行旺」等的轉換密碼
Thumbnail
完整標題:go around 與「逛」、「觀覽」、「交往」、「相處」、「走訪」、「轉繞圓動」等的轉換密碼及「天狼星」之謎