Trong Golang khi một biến được khai báo, nó được khởi tạo với giá trị bằng không như mô tả trong đặc tả.Có bắt buộc phải gán giá trị mặc định cho biến trong Golang không?
http://golang.org/ref/spec#The_zero_value
Nhưng là nó thực hành mã hóa tốt để làm cho sử dụng tài sản này và không khởi tạo một cách rõ ràng biến của bạn nếu nó cần phải khởi tạo với giá trị mặc định.
ví dụ như trong ví dụ sau
http://play.golang.org/p/Mvh_zwFkOu
package main
import "fmt"
type B struct {
isInit bool
Greeting string
}
func (b *B) Init() {
b.isInit = true
b.Greeting = "Thak you for your time"
}
func (b *B) IsInitialized() bool {
return b.isInit
}
func main() {
var b B
if !b.IsInitialized(){
b.Init()
}
fmt.Println(b.Greeting)
}
chương trình dựa trên các giá trị mặc định của boolean là sai.
Ngoài ra, nếu bạn chạy golint, nó sẽ gợi ý bạn bỏ nhiệm vụ thêm vì nó là giá trị mặc định. Đó là một công cụ tốt để bắt đầu với phong cách của Go. – LanceH