[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)
Ưu tiên sử dụng :=
để khai báo biến ngắn trong Go
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 trong một dòng, làm cho 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ách viết tắt 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ả việc khai báo và khởi tạo trong một dòng duy nhất. Điều này làm giảm mã boilerplate và làm cho việc hiểu rằng một biến mới đang được giới thiệu 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 làm giảm độ dài 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 thuộc về 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 viết tắt rất mạnh mẽ, nhưng có những lúc 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 hiện có trong cùng phạm vi, hãy sử dụng toán tử gán tiêu 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ể đơ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.