[MẸO] Ưu tiên := cho khai báo biến ngắn trong Go
By khoanc, at: 13:47 Ngày 04 tháng 9 năm 2024
Thời gian đọc ước tính: __READING_TIME__ minutes
![[TIPS] Prefer := for Short Variable Declaration in Go](/media/filer_public_thumbnails/filer_public/f4/7a/f47a91af-4dc2-442b-8df6-387a98cf171f/go-lang_short_variable_declaration.png__1500x900_crop_subsampling-2_upscale.png)
![[TIPS] Prefer := for Short Variable Declaration in Go](/media/filer_public_thumbnails/filer_public/f4/7a/f47a91af-4dc2-442b-8df6-387a98cf171f/go-lang_short_variable_declaration.png__400x240_crop_subsampling-2_upscale.png)
Một trong những tính năng tiện lợi nhất của Go là cú pháp :=
để khai báo biến ngắn. Nó cho phép bạn khai báo và khởi tạo một biến trên cùng một dòng, giúp mã của bạn ngắn gọn và dễ đọc hơn. Hãy cùng tìm hiểu lý do tại sao cú pháp rút gọn này nên là lựa chọn hàng đầu của bạn trong hầu hết các trường hợp.
Tại sao sử dụng :=
?
Tính đơn giản và dễ đọc: Cú pháp :=
đơn giản hóa việc khai báo biến bằng cách kết hợp cả khai báo và khởi tạo trên một dòng duy nhất. Điều này giúp giảm mã boilerplate và làm cho việc giới thiệu một biến mới trở nên rõ ràng ngay lập tức.
Suy luận kiểu dữ liệu: Với :=
, bạn không cần phải chỉ định rõ kiểu dữ liệu của biến. Go sẽ tự động suy luận kiểu dữ liệu dựa trên giá trị được gán, điều này giúp giảm sự dài dòng mà không làm mất đi tính rõ ràng.
count := 42 // count tự động là kiểu int
name := "Go" // name tự động là kiểu string
Phạm vi khối lệnh: Các biến được khai báo bằng :=
có phạm vi trong khối lệnh mà chúng được khai báo, giúp bạn tránh các vấn đề liên quan đến việc sử dụng lại biến hoặc thay đổi trạng thái toàn cục không mong muốn.
Khi nào không nên sử dụng :=
Mặc dù cú pháp rút gọn rất mạnh mẽ, nhưng có những trường hợp bạn nên tránh sử dụng nó:
Biến cấp gói: Ở cấp độ gói, bạn cần khai báo biến bằng từ khóa var
vì :=
chỉ hợp lệ bên trong các hàm.
var globalCount int // Khai báo ở cấp độ gói
Gán lại giá trị: Nếu bạn đang gán lại giá trị cho một biến đã tồn tại trong cùng phạm vi, hãy sử dụng toán tử gán chuẩn =
thay vì :=
.
count = 50 // Gán lại một giá trị mới
Ví dụ về :=
trong thực tế
Dưới đây là một ví dụ đơn giản cho thấy cách :=
có thể giúp đơn giản hóa mã của bạn:
package main
import "fmt"
func main() {
// Khai báo và khởi tạo nhiều biến với :=
message := "Hello, Go!"
count := 10
isReady := true
fmt.Println(message, count, isReady)
}
Trong ví dụ này, :=
được sử dụng để khai báo và khởi tạo ba biến với các kiểu dữ liệu khác nhau, giúp giữ cho mã ngắn gọn và dễ đọc.