厚土Go学习笔记 | 12. if 语句

时间:2022-05-06
本文章向大家介绍厚土Go学习笔记 | 12. if 语句,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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 >= %gn", v, lim)
    }
    return lim
}

func main() {
    fmt.Println(
        pow(3, 2, 10),
        pow(3, 3, 20),
    )
}

运行结果

27 >= 20
9 20

注意结果的显示顺序。首先是func pow()的运行结果输出,然后才是主函数的输出。