“如果有一个简短的陈述”有什么好处?

时间:2014-05-14 08:32:02

标签: if-statement go

在go lang中使用“If with a short statement”有什么好处。参考:go tour

if v := math.Pow(x, n); v < lim {
    return v
}

而不只是在if之前编写语句。

v := math.Pow(x, n)
if v < lim {
    return v
}

1 个答案:

答案 0 :(得分:15)

如果您不需要“if v := math.Pow(x, n); v < lim”范围之外的“v”,则

if会很有趣

在“Effective Go

中提及
  

由于ifswitch接受初始化语句,因此通常会看到用于设置局部变量的语句。

if err := file.Chmod(0664); err != nil {
    log.Print(err)
    return err
}

第二种形式允许在v子句之后使用“if”。

真正的区别在于您需要此变量的范围:在if子句中定义它允许将使用该变量的范围保持在最小值。