選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Go 變數


變數是用於儲存資料值的容器。


Go 變數型別

在 Go 中,有不同**型別**的變數,例如:

  • int - 儲存整數(整型數),例如 123 或 -123
  • float32 - 儲存浮點數,帶小數,例如 19.99 或 -19.99
  • string - 儲存文字,例如 "Hello World"。字串值用雙引號括起來
  • bool - 儲存有兩種狀態的值:true 或 false

關於不同變數型別的更多資訊,將在 Go 資料型別章節進行解釋。


宣告(建立)變數

在 Go 中,有兩種宣告變數的方式:

1. 使用 var 關鍵字

使用 var 關鍵字,後跟變數名和型別

語法

var variablename type = value

注意:您必須始終指定 typevalue(或兩者)。

2. 使用 := 符號

使用 := 符號,後跟變數值

語法

variablename := value

注意: 在這種情況下,變數的型別是根據值**推斷**出來的(這意味著編譯器會根據值來決定變數的型別)。

注意:不能使用 := 宣告一個沒有賦值的變數。


帶初始值的變數宣告

如果變數的值從一開始就知道,您可以在一行中宣告變數併為其賦值

示例

package main
import ("fmt")

func main() {
  var student1 string = "John" // 型別是 string
  var student2 = "Jane" // 型別被推斷
  x := 2 // 型別被推斷

  fmt.Println(student1)
  fmt.Println(student2)
  fmt.Println(x)
}
自己動手試一試 »

注意:student2x 的變數型別是從它們的值中**推斷**出來的。



不帶初始值的變數宣告

在 Go 中,所有變數都會被初始化。因此,如果您宣告一個沒有初始值的變數,它的值將被設定為其型別的預設值

示例

package main
import ("fmt")

func main() {
  var a string
  var b int
  var c bool

  fmt.Println(a)
  fmt.Println(b)
  fmt.Println(c)
}
自己動手試一試 »

示例說明

在此示例中有 3 個變數

  • a
  • b
  • c

這些變數已宣告,但尚未分配初始值。

透過執行程式碼,我們可以看到它們已經具有各自型別的預設值

  • a""
  • b0
  • cfalse

聲明後的值賦值

可以在宣告變數後為其賦值。這對於值未知的初始情況很有用。

示例

package main
import ("fmt")

func main() {
  var student1 string
  student1 = "John"
  fmt.Println(student1)
}
自己動手試一試 »

注意:不能使用“:=”宣告一個沒有賦值的變數。


var 和 := 的區別

var 和 := 之間有一些小區別

var :=
可以在函式**內部**和**外部**使用 只能在函式**內部**使用
變數宣告和賦值可以**分開進行** 變數宣告和賦值**不能分開進行**(必須在同一行完成)

示例

此示例顯示使用 var 關鍵字在函式外部宣告變數

package main
import ("fmt")

var a int
var b int = 2
var c = 3

func main() {
  a = 1
  fmt.Println(a)
  fmt.Println(b)
  fmt.Println(c)
}
自己動手試一試 »

示例

由於 := 在函式外部使用,執行程式將導致錯誤。

package main
import ("fmt")

a := 1

func main() {
  fmt.Println(a)
}

結果

./prog.go:5:1: syntax error: non-declaration statement outside function body
自己動手試一試 »

Go 練習

透過練習來測試自己

練習

建立一個名為 myNum 的變數併為其賦值 50

package main   
import ("fmt") 
func main() { var = fmt.Println() }

開始練習


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援