理解Go中“:=”和“=”的區別
作為Go新手,你可能會困惑對於變量賦值,“ :=”和“=”似乎可以互換使用。然而,圍繞變數聲明的上下文有一個微妙的區別。
「=」的作用
在 Go 中,「=」主要用於變數賦值。它遵循“var name type = expression”的語法,其中“name”代表要分配的變數。至關重要的是,類型或賦值表達式可以省略,但不能同時省略。
“:=”的性質
相反,“:=”表示短變量聲明,遵循格式“名稱:=表達式”。在這裡,「:=」充當組合聲明和賦值運算子。 「名稱」的類型是從「表達式」的類型自動推斷出來的。
聲明和賦值的區別
主要區別在於每個的主要目的操作員。 “:=”僅用於聲明,而“=”用於賦值。因此,短變數宣告必須始終在目前詞法區塊中引入至少一個全新變數。
用法範例
為了說明差異,請考慮以下範例:
var x int = 1
此語句宣告一個整數變數"x" 並使用值1 對其進行初始化。
r := foo()
這是一個簡短的變數聲明,用於指定「foo」的傳回值()」函數到新建立的變量“r。 ”
This creates a new variable "m" and assigns a new value to the existing variable "r." **Exceptions and Additional Information** It's worth noting that ":=" can only be used within functions. However, it can declare temporary variables within the initializers of control structures like "if," "for," and "switch." For further exploration, you can refer to the official Go documentation on: * [Variable Declarations](https://go.dev/ref/spec#Variable_declarations)
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3