12. if 语句
2017-08-10 本文已影响91人
厚土火焱
在 for 循环的最后一个代码演示中,有了 if 语句。
那个 if 语句是这样写的
if (i>3){
break
}
有一点,你要知道。在Go语言中,if 后面的 () 不是必须的。只有 { } 是必须的。所以你可以写成这样
if i>3 {
break
}
在Go语言中,if 还可以在条件之前执行一个简单的语句。
有这个语句定义的变量的作用域仅在 if 范围之内。
package main
import (
"fmt"
"math"
)
func pow(x, n, lim float64) float64 {
if v := math.Pow(x, n); v < lim {
return v
}
return lim
}
func main(){
fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20),
)
}
以上这个例子是求x的n次方。如果求得的结果比 lim 小,就返回结果,否则就返回 lim 。
运行此例,可以看到这样的结果。
9 20
if 语句常会有 else 块跟随,在 if 条件之前的简单语句,在 else 块中仍然有效。
修改上面的程序,当x的n次方不小于lim时,屏幕打印一句话。
package main
import (
"fmt"
"math"
)
func pow(x, n, lim float64) float64 {
if v := math.Pow(x, n); v < lim {
return v
}else{
fmt.Printf("%g >= %g\n", v, lim)
}
return lim
}
func main(){
fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20),
)
}
运行结果
27 >= 20
9 20
注意结果的显示顺序。首先是func pow()的运行结果输出,然后才是主函数的输出。