В Golang, когда объявлена переменная, она инициализируется нулевым значением, как описано в спецификации.Требуется ли присвоить значение по умолчанию переменной в Голанге?
http://golang.org/ref/spec#The_zero_value
Но это хорошая практика кодирования, чтобы сделать использование этого имущества и явно не инициализировать переменную, если это необходимо инициализировать значение по умолчанию.
, например, в следующем примере
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)
}
программа опирается на значение по умолчанию булевы ложными.
Кроме того, если вы запустите golint, это предложит вам убрать дополнительное назначение, потому что оно является значением по умолчанию. Это хороший инструмент для начала работы с стилем Go. – LanceH