go学习程序员Golang语言社区

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()的运行结果输出,然后才是主函数的输出。

上一篇下一篇

猜你喜欢

热点阅读