缩小变量作用域
如果有可能,尽量缩小变量作用范围。除非它与减少嵌套的规则冲突。
//bad usage
err := ioutil.WriteFile(name, data, 0644)
if err != nil {
return err
}
//good usage
if err := ioutil.WriteFile(name, data, 0644); err != nil {
return err
}
如果需要在if
之外使用函数调用的结果,则不应尝试缩小范围。
//bad usage
if data, err := ioutil.ReadFile(name); err == nil {
err = cfg.Decode(data)
if err != nil {
return err
}
fmt.Println(cfg)
return nil
} else {
return err
}
//good usage
data, err := ioutil.ReadFile(name)
if err != nil {
return err
}
if err := cfg.Decode(data); err != nil {
return err
}
fmt.Println(cfg)
return nil
Last updated
Was this helpful?