在 Go 中,当一个变量被声明时,它被初始化为零值,如规范中所述。
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)
}
该程序依赖于 boolean 的默认值为 false。
蓝山帝景
沧海一幻觉
烙印99
相关分类