Go语言中的控制语句

举报
宇宙之一粟 发表于 2022/01/15 00:14:21 2022/01/15
【摘要】 向c语言一样,Go语言中常见的控制语句如下: if…else语句switch…case语句for语句没有while关键字break 和 continue 比较运算符 您可以确定变量或值之间的相等性或差异。 == 等于!= 不等于> 大于< 小于>= 大于...

向c语言一样,Go语言中常见的控制语句如下:

  1. if…else语句
  2. switch…case语句
  3. for语句
  4. 没有while关键字
  5. break 和 continue

比较运算符

您可以确定变量或值之间的相等性或差异。

  • == 等于
  • != 不等于
  • > 大于
  • < 小于
  • >= 大于或等于
  • <= 小于或等于
package mainimport "fmt"func main() {    var (        a = 2        b = 10    )    fmt.Println(a > b)    fmt.Println(a < b)    fmt.Println(a >= b)    fmt.Println(a <= b)    fmt.Println(a != b)    fmt.Println(a == b)}
        

逻辑运算符


&& and

|| or

! not

var (    c = 5    d = 8)fmt.Println(c>d && c!=d)fmt.Println(!(c>=d))fmt.Println(c==d || c>d)
        

选择

在Go语言中可以用两种方法做选择, if…elseswitch…case

if…else

if conditional {// do something}else{// do another job}
        

 

package mainimport "fmt"func main() {    var (        a = 5        b = 8    )    if a > b || a-b < a {        fmt.Println("conditional-->a>b || a-b<a")    }else {        fmt.Println("..anothor")    }}
        

switch…case

switch option {    case option1:        // do option1 job    case option2:        // do option2 job}
        
    selected := 2    switch selected {    case 0:        fmt.Println("seleted = 0")    case 1:        fmt.Println("seleted = 1")    case 2:        fmt.Println("seleted = 2")    case 3:        fmt.Println("seleted = 3")    default:        fmt.Println("other..")    }
        

循环–for

当我们需要做重复的运算是,循环语句是很有用的。语法格式如下:

for initialization;conditional;increment/decrement {}
        
package mainimport "fmt"func main() {    // iteration - for    var i int    for i=0;i<5;i++ {    fmt.Println(i)    }    for j:=5;j<11;j++ {    fmt.Println(j)    }}
        

循环–while

Go不提供和C语言和Python那样的 ​​while​​ 关键字,我们可以使用 for 语句(省略条件)来实现while语句的功能。

    // while的go实现    m := 0    for m < 5 {        fmt.Println(m)        m ++    }
        

break 和 continue

break可以被用来中断程序包含它的那段循环,并开始下一阶段,continue语句可以跳过本次迭代的这一段代码,并开始下一段迭代。比如:我们程序中有如下循环,使用break会在value=3的时候循环终止,而如果我们使用continue则会跳出value=7的这一次迭代,开始进行下一轮迭代。

package mainimport "fmt"func main() {    var i int    for i=0; i < 5; i++ {        if i == 3 {            break        }        fmt.Println(i)    }    for j:=5; j < 11; j++ {        if j == 7{            continue        }        fmt.Println(j)    }}
        

程序输出结果

当 ​​i==3​​ 时,遇到break,循环退出,所以3和4都不会打印。

当​​j==7​​时,遇到continue,本次迭代结束,所以不会打印7,而后面的8,9,10会一次打印出,然后程序结束。

程序运行结果如下,验证正确:

012568910
        

文章来源: blog.csdn.net,作者:宇宙之一粟,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/yuzhou_1shu/article/details/122476941

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。