Go中的短變數宣告運算符

Golang中的短變數宣告運算子(:=)用於建立具有唯一名稱和初始值的變數。使用該運算子的主要目的是宣告和初始化函數內部的局部變量,並縮小變數的範圍。變數的類型由表達式的類型決定。 var 關鍵字也用於建立特定類型的變數。因此可以說,在 Golang 中建立變數有兩種方法,如下所示:

Go中的短變數宣告運算符

  • 使用 var 關鍵字
  • 使用短變數宣告運算子(:=)

現在讓我們學習如何在 Golang 中使用短變數宣告運算子!

主要內容

Golang 中使用短變數宣告運算子的語法

variable_name := biểu thức hoặc giá trị

在這裡,您必須在聲明後立即初始化變數。但是使用var關鍵字可以避免在聲明時初始化。無需提及變數的類型。右側的表達式或值用於評估變數的類型。

例如:這裡我們使用短聲明運算子來宣告變量,而不指定變數的型別。變數的型別由運算子右邊的表達式的型別決定:=

// Minh họa chương trình Go dùng := (toán tử khai báo ngắn) 
package main

import "fmt"

func main() {

	// khai báo và khởi tạo biến
	a := 30

	// lấy một biến chuỗi
	Language: = "Go Programming"

	fmt.Println("The Value of a is: ", a)
	fmt.Println("The Value of Language is: ", Language)

}

結果:

The Value of a is:  30
The Value of Language is:  Go Programming

使用短聲明運算子聲明多個變數

短聲明運算子也可用於在單一聲明中聲明相同或不同類型的多個變數。這些變數的類型由運算子右側的表達式來評估:=

例如:

// Minh họa chương trình Go dùng toán tử khai báo ngắn := short để khai báo nhiều
// biến thành một câu lệnh khai báo duy nhất
package main

import "fmt"

func main() { 

// nhiều biến của cùng kiểu(int)
geek1, geek2, geek3 := 117, 7834, 5685

// nhiều biến của các kiểu khác nhau
geek4, geek5, geek6 := "GFG", 859.24, 1234

// Hiện giá trị và kiểu của biến
fmt.Printf("The value of geek1 is : %d\n", geek1) 
fmt.Printf("The type of geek1 is : %T\n", geek1) 

fmt.Printf("\nThe value of geek2 is : %d\n", geek2) 
fmt.Printf("The type of geek2 is : %T\n", geek2) 

fmt.Printf("\nThe value of geek3 is : %d\n", geek3) 
fmt.Printf("The type of geek3 is : %T\n", geek3)

fmt.Printf("\nThe value of geek4 is : %s\n", geek4) 
fmt.Printf("The type of geek4 is : %T\n", geek4)


fmt.Printf("\nThe value of geek5 is : %f\n", geek5) 
fmt.Printf("The type of geek5 is : %T\n", geek5)

fmt.Printf("\nThe value of geek6 is : %d\n", geek6) 
fmt.Printf("The type of geek6 is : %T\n", geek6)

} 

結果:

The value of geek1 is : 117
The type of geek1 is : int

The value of geek2 is : 7834
The type of geek2 is : int

The value of geek3 is : 5685
The type of geek3 is : int

The value of geek4 is : GFG
The type of geek4 is : string

The value of geek5 is : 859.240000
The type of geek5 is : float64

The value of geek6 is : 1234
The type of geek6 is : int

要記住的重點:

當運算子左側至少有一個變數:=被宣告為新變數時,可以使用短聲明運算子。短變數宣告運算子的作用類似於對同一詞法區塊內宣告的變數進行賦值。為了更好地理解這個概念,我們舉一個例子。

例1:下面的程式將拋出一個錯誤,因為運算子的左邊沒有新的變數:=

// Minh họa chương trình Go dùng khai báo biến ngắn
package main

import "fmt"

func main() { 

	// lấy hai biến
	p, q := 100, 200

	fmt.Println("Value of p ", p, "Value of q ", q)

	// Báo lỗi vì không có biến mới ở bên tay trái của :=
	p, q := 500, 600
	
	fmt.Println("Value of p ", p, "Value of q ", q)
}

錯誤:

./prog.go:17:10: no new variables on left side of := 

範例 2:

在下面的程式中,您可以看到行 geek3, geek2 := 456, 200 將正常工作而不會出現任何錯誤,因為運算符左側至少有一個新變量,即 geek3 :=

// Chương trình Go dùng toán tử khai báo biến ngắn
package main 

import "fmt"

func main() { 

// Ở đây, khai báo biến ngắn hoạt động
// như một phép gán cho biến geek1
// vì cùng một biến có trong cùng một khối
// do đó giá trị của geek2 được thay đổi từ 100 thành 200
geek1, geek2 := 78, 100

// ở đây, := được sử dụng như một phép gán cho geek2
// vì nó đã được khai báo. Ngoài ra, dòng này
// sẽ hoạt động tốt vì geek3 mới được tạo
// biến
geek3, geek2 := 456, 200

// Nếu bạn thử chạy các dòng được chú thích,
// thì trình biên dịch sẽ báo lỗi vì
// các biến này đã được định nghĩa
// geek1, geek2 := 745, 956
// geek3 := 150

// Hiện giá trị của các biến
fmt.Printf("The value of geek1 and geek2 is : %d %d\n", geek1, geek2) 
											
fmt.Printf("The value of geek3 and geek2 is : %d %d\n", geek3, geek2) 
} 

結果:

The value of geek1 and geek2 is : 78 200
The value of geek3 and geek2 is : 456 200

Go 是一種強型別語言,因為您無法將不同資料類型的值指派給宣告的變數。

例如:

// Minh họa chương trình Go dùng toán tử khai báo biến ngắn
package main 

import "fmt"

func main() { 

	// lấy một biến của int
	z := 50
	
	fmt.Printf("Value of z is %d", z)
	
	// gán lại giá trị của kiểu chuỗi
// nó sẽ đưa ra lỗi
	z := "Golang"
} 

錯誤:

./prog.go:16:4: no new variables on left side of := 
./prog.go:16:7: cannot use “Golang” (type string) as type int in assignment 
 

在簡短的變數宣告中,Golang 允許使用傳回多個值的函數呼叫來初始化一組變數。或者你可以說變數也可以被分配在運行時評估的值。

例如:

// Tại đây, hàm math.Max function trả về
// số lớn nhất trong biến i 
i := math.Max(x, y)

局部變數或全域變數

借助短變數宣告運算子(:=),可以宣告作用域僅在區塊層級的局部變數。一般情況下,局部變數是在函數區塊內部宣告的。如果您嘗試使用短聲明運算子聲明全域變量,則會收到錯誤。

例 1:

// Chương trình Go hiển thị cách sử dụng toán tử :=
// để khai báo các biến cục bộ
package main

import "fmt"

// sử dụng từ khóa var để khai báo
// và khởi tạo biến
// đó là package hoặc bạn có thể nói
// phạm vi cấp toàn cục
var geek1 = 900

// sử dụng khai báo biến ngắn
// sẽ báo lỗi
geek2 := 200

func main() {

// truy cập geek1 bên trong hàm
fmt.Println(geek1)

// truy cập geek2 bên trong hàm
fmt.Println(geek2)

}

錯誤:

./prog.go:15:1: syntax error: non-declaration statement outside function body 

範例 2:

// Chương trình Go dùng toán tử := operator
// để khai báo các biến cục bộ
package main 

import "fmt"

// dùng từ khóa var để khai báo
// và khởi tạo biến
// nó đóng gói hoặc bạn có thể báo
// phạm vi cấp toàn cục
var geek1 = 900


func main() { 

// dùng khai báo biến ngắn
// bên trong hàm chính
// nó có phạm vi cục bộ tức là không thể
// truy cập bên ngoài hàm chính
geek2 := 200

// truy cập geek1 bên trong hàm này
fmt.Println(geek1) 

// truy cập geek2 bên trong hàm này
fmt.Println(geek2) 
	
} 

結果:

900
200

Leave a Comment

如何修復 Microsoft Teams 錯誤代碼 2603 (2026)

如何修復 Microsoft Teams 錯誤代碼 2603 (2026)

遇到 Microsoft Teams 錯誤代碼 2603 而煩惱?我們的逐步指南可協助您快速解決問題,修復最新 2026 更新中的安裝失敗、當機等問題。適用於所有用戶!

如何修復 Microsoft Teams 錯誤 K 安全

如何修復 Microsoft Teams 錯誤 K 安全

遇到 Microsoft Teams 安全錯誤 K 時遇到問題?按照我們的逐步指南即可快速解決—無需任何技術知識。立即恢復流暢協作!

解決 Microsoft Teams 錯誤 N 網路

解決 Microsoft Teams 錯誤 N 網路

還在為 Microsoft Teams 的「錯誤 N」網路問題苦惱嗎?取得解決 Microsoft Teams「錯誤 N」網路問題的逐步指南,從快速重新啟動到進階故障排除,應有盡有。立即恢復流暢的通話和會議體驗!

一步一步教你如何在會議開始前建立分組討論室

一步一步教你如何在會議開始前建立分組討論室

透過這份詳盡的逐步指南,即可在 Zoom 會議開始前輕鬆建立分組討論室,實現無縫協作。預先分配與會者,最大程度提升參與。本指南是教育工作者、團隊和領導者的理想選擇。

解決 Microsoft Teams 中「Teams 資料夾在哪裡」的錯誤

解決 Microsoft Teams 中「Teams 資料夾在哪裡」的錯誤

還在為 Microsoft Teams 中令人抓狂的「Teams 資料夾在哪裡」錯誤而煩惱嗎?我們提供經過驗證的逐步故障排除方法,協助您快速解決問題,恢復流暢的團隊合作。包含最新方法!

解決 Microsoft Teams Mac 版錯誤鑰匙圈問題

解決 Microsoft Teams Mac 版錯誤鑰匙圈問題

還在為 Microsoft Teams Mac 版鑰匙圈錯誤而煩惱嗎?我們提供經過驗證的 macOS 逐步故障排除方案,協助您恢復流暢協作。快速解決方案就在眼前!

如何解決 Microsoft Teams 麥克風聲音模糊或無聲音的問題

如何解決 Microsoft Teams 麥克風聲音模糊或無聲音的問題

還在為 Microsoft Teams 麥克風聲音模糊或無聲而煩惱嗎?了解如何透過快速有效的步驟解決 Microsoft Teams 麥克風問題。清晰的音訊體驗,等你來體驗!

解決公共 Wi-Fi 上的 Microsoft Teams 網路錯誤

解決公共 Wi-Fi 上的 Microsoft Teams 網路錯誤

在公共 Wi-Fi 環境下遇到 Microsoft Teams 網路錯誤?立即取得 VPN 調整、連接埠檢查和快取清除等快速修復方法,恢復通話和會議的流暢運作。逐步指南助您快速解決問題。

透過直接連結解決 Microsoft Teams 加入會議錯誤

透過直接連結解決 Microsoft Teams 加入會議錯誤

遇到 Microsoft Teams 加入會議錯誤?點擊連結查看已驗證的解決方法。快速修復,輕鬆加入會議—無需任何技術技能!

如何運用 Microsoft Teams Copilot 實現 AI 賦能的生產力

如何運用 Microsoft Teams Copilot 實現 AI 賦能的生產力

了解如何使用 Microsoft Teams Copilot 提升 AI 賦能的生產力。逐步指南、關鍵功能和技巧,幫助您輕鬆革新會議、聊天和任務。立即開啟更聰明的協作!

Outlook 中的 Microsoft Teams 在哪裡?如何找到遺失的圖標

Outlook 中的 Microsoft Teams 在哪裡?如何找到遺失的圖標

Outlook 找不到 Microsoft Teams 圖示?想知道它到底在哪裡、為什麼會消失,以及如何恢復它才能輕鬆召開會議?本文已更新至最新版本!

今日 Microsoft Teams 錯誤排查:首先要檢查什麼

今日 Microsoft Teams 錯誤排查:首先要檢查什麼

今天遇到 Microsoft Teams 錯誤?這份 Microsoft Teams 逐步故障排除指南將揭示快速解決問題的首要步驟。快速修復連線、快取和更新問題,讓您恢復流暢的聊天體驗。

為什麼我的 Outlook 中缺少 Microsoft Teams 加載項?

為什麼我的 Outlook 中缺少 Microsoft Teams 加載項?

找不到 Outlook 中的 Microsoft Teams 加載項,是不是很困擾?本文將為您揭示主要原因,並提供簡單的逐步修復方案,幫助您輕鬆恢復 Teams 與 Outlook 的無縫整合。適用於最新版本!

解決 Microsoft Teams 歡迎畫面啟動循環問題

解決 Microsoft Teams 歡迎畫面啟動循環問題

還在為 Microsoft Teams 歡迎介面啟動循環而煩惱嗎?請依照我們經過驗證的 Microsoft Teams 歡迎介面啟動循環故障排除步驟操作:清除快取、重設應用程式、重新安裝。幾分鐘內即可恢復流暢協作!

為什麼我的 Microsoft Teams 狀態一直顯示為「離開」?

為什麼我的 Microsoft Teams 狀態一直顯示為「離開」?

您的 Microsoft Teams 狀態一直顯示為「離開」而感到沮喪嗎?了解主要原因,例如空閒超時和電源設置,以及快速恢復“在線”狀態的逐步修復方法。已更新至最新的 Teams 功能。