前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >厚土Go学习笔记 | 12. if 语句

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

作者头像
李海彬
发布2018-03-28 11:29:52
6110
发布2018-03-28 11:29:52
举报
文章被收录于专栏:Golang语言社区Golang语言社区

for 循环的最后一个代码演示中,有了 if 语句。

那个 if 语句是这样写的

代码语言:javascript
复制
if (i>3) {
    break
}

有一点,你要知道。在Go语言中,if 后面的 () 不是必须的。只有 { } 是必须的。所以你可以写成这样

代码语言:javascript
复制
if i>3 {
    break
}

在Go语言中,if 还可以在条件之前执行一个简单的语句。

有这个语句定义的变量的作用域仅在 if 范围之内。

代码语言:javascript
复制
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

运行此例,可以看到这样的结果。

代码语言:javascript
复制
9 20

if 语句常会有 else 块跟随,在 if 条件之前的简单语句,在 else 块中仍然有效。

修改上面的程序,当x的n次方不小于lim时,屏幕打印一句话。

代码语言:javascript
复制
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),
    )
}

运行结果

代码语言:javascript
复制
27 >= 20
9 20

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档