在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
}
答案 0 :(得分:15)
if v := math.Pow(x, n); v < lim
”范围之外的“v
”,则 if
会很有趣
在“Effective Go”
中提及由于
if
和switch
接受初始化语句,因此通常会看到用于设置局部变量的语句。
if err := file.Chmod(0664); err != nil {
log.Print(err)
return err
}
第二种形式允许在v
子句之后使用“if
”。
真正的区别在于您需要此变量的范围:在if
子句中定义它允许将使用该变量的范围保持在最小值。