首頁 >後端開發 >Golang >Go 的 `:=` 與 `=`:何時使用哪一個賦值運算子?

Go 的 `:=` 與 `=`:何時使用哪一個賦值運算子?

Barbara Streisand
Barbara Streisand原創
2024-12-08 08:44:10366瀏覽

Go's `:=` vs `=`: When to Use Which Assignment Operator?

:= vs = Go:綜合指南

作為 Go 程式設計的新手,您可能已經注意到 := 和 = 之間有趣的二元性。雖然 := 被認為是 Go 中 Python 的 = 的等價物,但在 Go 中使用 = 似乎也能起作用。

理解賦值運算子 (=)

= 運算子在 Go 中充當賦值運算符,為變數賦值。它的一般語法是:

variable = expression

例如:

var x = 10
y := 20

在上面的例子中,x被賦值為10,y被賦值為20。

使用:=

:= 探索變數聲明作為一個簡短的變數聲明,其形式如下:

name := expression

名稱的類型是根據表達式自動推斷的。例如:

a := 10 // a is of type int
b := 3.14 // b is of type float64

主要區別:聲明與賦值

:= 和 = 之間的關鍵區別在於它們的角色。 := 是聲明,引入一個新變量,而 = 是賦值,為現有變數賦值。這意味著 := 必須始終聲明至少一個新變數。

使用場景

:= 可用來以下場景:

  • 宣告一個新變數
  • 不同的多個變數宣告類型
  • 在if、for、switch等語句中宣告局部暫存變數

異常

  • := 不能出現在外部函數。
  • := 不能用於聲明其類型或值已在周圍詞法中指定的變數區塊。

其他資源

  • [變數聲明](https://go.dev/ref/spec#Variable_declarations)
  • [短變數宣告](https://go.dev/ref/spec#Short_variable_declarations)

以上是Go 的 `:=` 與 `=`:何時使用哪一個賦值運算子?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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