Từ khóa var trong Golang được sử dụng để tạo các biến có kiểu cụ thể có tên riêng và giá trị ban đầu. Việc khởi tạo là tùy chọn tại thời điểm khai báo biến bằng từ khóa var mà chúng ta sẽ thảo luận sau trong bài viết này.
Cú pháp:
var identifier type = expression
Ví dụ:
// ở đâ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
Như bạn đã biết, Go là ngôn ngữ được gõ tĩnh nhưng nó vẫn cung cấp tiện ích để xóa khai báo kiểu dữ liệu khi khai báo biến như được hiển thị trong cú pháp bên dưới. Điều này thường được gọi là Suy luận kiểu - Type Inference.
Cú pháp:
var identifier = initialValue
Ví dụ:
var quantrimang1 = 200
Khai báo nhiều biến bằng cách sử dụng từ khóa var
Từ khóa var cũng được sử dụng để khai báo nhiều biến trên một dòng. Bạn cũng có thể cung cấp giá trị ban đầu cho các biến như được hiển thị bên dưới:
Khai báo nhiều biến bằng từ khóa var cùng với kiểu:
var quantrimang1, quantrimang2, quantrimang3, quantrimang4 int
Khai báo nhiều biến bằng từ khóa var cùng với kiểu và giá trị ban đầu
var quantrimang1, quantrimang2, quantrimang3, quantrimang4 int = 10, 20, 30, 40
Lưu ý:
Bạn cũng có thể sử dụng suy luận kiểu (đã thảo luận ở trên) để trình biên dịch biết về kiểu, tức là có tùy chọn xóa kiểu trong khi khai báo nhiều biến.
Ví dụ:
var quantrimang1, quantrimang2, quantrimang3, quantrimang4 = 10, 20, 30.30, true
Bạn cũng có thể sử dụng nhiều dòng để khai báo và khởi tạo giá trị của các kiểu khác nhau bằng cách sử dụng từ khóa var như sau:
Ví dụ:
var(
quantrimang1 = 100
quantrimang2 = 200.57
quantrimang3 bool
quantrimang4 string = "Quantrimang"
)
Khi sử dụng type
trong quá trình khai báo, bạn chỉ được phép khai báo nhiều biến có cùng kiểu. Nhưng khi xóa type
trong quá trình khai báo, bạn được phép khai báo nhiều biến có nhiều kiểu khác nhau.
Ví dụ:
// 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)
}
Kết quả:
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
Các điểm quan trọng cần nhớ về từ khóa var trong Go:
- Trong quá trình khai báo biến bằng từ khóa var, bạn có thể xóa type hoặc = expression nhưng không thể xóa cả hai. Nếu bạn xóa, trình biên dịch sẽ báo lỗi.
- Nếu bạn xóa expression thì biến sẽ chứa giá trị zero cho số và false cho boolean “” cho chuỗi và nil cho giao diện và kiểu tham chiếu theo mặc định. Vì vậy, không có khái niệm nào về biến chưa được khởi tạo trong ngôn ngữ Go.
Ví dụ:
// 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)
}
Kết quả:
The value of geek1 is : 0
The value of geek2 is :
The value of geek3 is : 0.000000
The value of geek4 is : false