12. if 语句

作者: 厚土火焱 | 来源:发表于2017-08-10 16:31 被阅读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()的运行结果输出,然后才是主函数的输出。

    相关文章

      网友评论

        本文标题:12. if 语句

        本文链接:https://www.haomeiwen.com/subject/kbmhrxtx.html