The var keyword in Golang is used to create variables of a specific type with a specific name and initial value. Initialization is optional at the time of declaring the variable using the var keyword which we will discuss later in this article.

Syntax:
var identifier type = expression
For example:
// ở đây quantrimang1 là định danh
// hoặc tên biến, int là
// kiểu và 200 là giá trị được gán
var quantrimang1 int = 200
As you know, Go is a statically typed language but it still provides the facility to remove the data type declaration when declaring a variable as shown in the syntax below. This is commonly known as Type Inference .
Syntax:
var identifier = initialValue
For example:
var quantrimang1 = 200
Declare multiple variables using the var keyword
The var keyword is also used to declare multiple variables on a single line. You can also provide initial values to variables as shown below:
Declare multiple variables using the var keyword along with the type:
var quantrimang1, quantrimang2, quantrimang3, quantrimang4 int
Declare multiple variables using the var keyword along with their initial type and value.
var quantrimang1, quantrimang2, quantrimang3, quantrimang4 int = 10, 20, 30, 40
Note:
You can also use type inference (discussed above) to let the compiler know about the type, i.e. have the option to erase the type while declaring multiple variables.
For example:
var quantrimang1, quantrimang2, quantrimang3, quantrimang4 = 10, 20, 30.30, true
You can also use multiple lines to declare and initialize values of different types using the var keyword as follows:
For example:
var(
quantrimang1 = 100
quantrimang2 = 200.57
quantrimang3 bool
quantrimang4 string = "Quantrimang"
)
When used typeduring declaration, you are only allowed to declare multiple variables of the same type. But when deleted typeduring declaration, you are allowed to declare multiple variables of different types.
For example:
// Minh họa chương trình Go khai báo nhiều biến bằng từ khóa var
package main
import "fmt"
func main() {
// Khai báo và khởi tạo nhiều biến cùng loại trong một dòng cùng với kiểu
var geek1, geek2, geek3 int = 232, 784, 854
// Khai báo và khởi tạo nhiều biến của các kiểu khác nhau trong một dòng với kiểu không xác định
var geek4, geek5, geek6 = 100, "GFG", 7896.46
// Hiện giá trị của các biến
fmt.Printf("The value of geek1 is : %d\n", geek1)
fmt.Printf("The value of geek2 is : %d\n", geek2)
fmt.Printf("The value of geek3 is : %d\n", geek3)
fmt.Printf("The value of geek4 is : %d\n", geek4)
fmt.Printf("The value of geek5 is : %s\n", geek5)
fmt.Printf("The value of geek6 is : %f", geek6)
}
Result:
The value of geek1 is : 232
The value of geek2 is : 784
The value of geek3 is : 854
The value of geek4 is : 100
The value of geek5 is : GFG
The value of geek6 is : 7896.460000
Important points to remember about the var keyword in Go:
- While declaring a variable using the var keyword, you can remove either type or = expression but not both. If you remove it, the compiler will throw an error.
- If you remove expression then the variable will contain zero for numbers and false for boolean “” for strings and nil for interfaces and reference types by default. So there is no concept of uninitialized variable in Go language.
For example:
// Chương trình Go minh họa khái niệm từ khóa var
package main
import "fmt"
func main() {
// Biến được khai báo nhưng không có khởi tạo
var geek1 int
var geek2 string
var geek3 float64
var geek4 bool
// Hiện giá trị zero của các biến
fmt.Printf("The value of geek1 is : %d\n", geek1)
fmt.Printf("The value of geek2 is : %s\n", geek2)
fmt.Printf("The value of geek3 is : %f\n", geek3)
fmt.Printf("The value of geek4 is : %t", geek4)
}
Result:
The value of geek1 is : 0
The value of geek2 is :
The value of geek3 is : 0.000000
The value of geek4 is : false