go语言的循环语句
admin
2023-02-16 05:40:04
0

这篇文章给大家分享的是go语言循环语句的使用示范。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

1、 if 循环 

if-else 语句之间可以有任意数量的 else if。
条件判断顺序是从上到下。如果 if 或 else if 条件判断的结果为真,则执行相应的代码块。 如果没有条件为真,则 else 代码块被执行。

语法结构

if condition{
}else if condition{
}else{

}

定义示列

package main
import "fmt"
func iftest()  {
    score :=61
    if score > 60{
        fmt.Println("成绩合格")
    } else if score >90{
        fmt.Println("成绩优秀")
    }else if score<0 {
        fmt.Println("成绩不能为负数")
    }else if score < 60 {
      fmt.Println("成绩不合格")
      } else{
        fmt.Println("成绩不合法")
    }
}

func main()  {
     iftest()
    // 输出  
    成绩合格
}

2、for 循环
go 循环只有一种叫做for
语法结构
for initialisation; condition; post {  
}

初始化语句只执行一次。循环初始化后,将检查循环条件。如果条件的计算结果为 true ,则 {} 内的循环体将执行,
接着执行 post 语句。post 语句将在每次成功循环迭代后执行。在执行 post 语句后,条件将被再次检查。
如果为 true, 则循环将继续执行, 否则 for 循环将终止。

示列

package main
import "fmt"

func fortest1()  {
    for i :=1;i <=10;i++{
        fmt.Println(i)
    }
}

// 输出

1
2
3
4
5
6
7
8
9
10

//在 go 中 break语句在完成执行之前突然终止for 循环,之后程序将会在for 循环下开始下一行
 代码开始执行

 for i:=2; i<=20 ;i+=2{
        if i >8{
            break
        }
        fmt.Printf("%d",i)
    } 
    fmt.Printf("\nline after for loop")

// 输出 当 i的值大于8后, fmt.Printf("%d",i) ,就终止执行了,执行最后一个fmt.Print
2468
line after for loop

// continue
continue 语句用来跳出 for 循环中当前循环,
在 continue 语句后的所有的 for 循环语句都不会在本次循环中执行。循环体会在一下次循环中继续执行。

    for i :=1;i<=10;i++{
        if i%2 ==0{
            continue
        }
        fmt.Printf("%d",i)
    }
}

// 输出 ,当于为0 的不输出
13579  

func main()  {
    fortest1()

}

// go 的无限循环语句

for  {
        fmt.Println("Hello World")
        }

3、switch 语句

switch 语句用于基于不同条件执行不同动作,每个case 分之都是唯一的,从上至下逐以测试,直到匹配为止
switch 语句的执行过程从上至下,直到找到匹配项,匹配项后面也不需要加break
switch 默认情况下case 最后带break 语句,匹配成功后不会执行其他case,可以使用fallthrough
语法结构如下

switch var1 {
case val1:
...
case val2:
...
default:
...
}

package main
import "fmt"

func switchtest1()  {
    var scores int = 90
    switch scores{
    case 90:
        fmt.Println("very good score")
        fallthrough
    case 80:
        fmt.Println("good score")
    case 60:
        fmt.Println("just ok")
    }

}

输出 ,当在case 90 条件下新增 fallthrough 时,case 80 的条件也会输出
good score

very good score  

func main()  {

    switchtest1()
}

看完上述内容,你们对go语言的循环语句有进一步的了解吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读。


相关内容

热门资讯

邓煜,诗人,数学家,老二次元 来源 视觉中国菲尔兹奖的通知邮件抵达时,普林斯顿大学数学博士、芝加哥大学数学系教授邓煜正在看一本恋爱...
安全生产许可证状态不是“有效”... 工程公司的安全生产许可证在官方系统显示为“其他”状态,有一栏则显示“整改”,却成为高标准农田项目的第...
深化产教融合 推进数智育人 哈... 7月23日,由阿里国际人工智能人才孵化中心(以下简称“阿里国际AITIC”)主办的“智启未来·数智赋...
中国工程院举办学习陈立泉、贲德... 北京7月24日电 (记者 孙自法)中国工程院7月24日在北京举办学习陈立泉、贲德院士科学家精神座谈会...
从成都看低空经济,专访杨军:万... 电子科技大学教授、深思实验室主任杨军接受封面新闻记者专访 封面新闻记者 王一理 摄影 陈光旭 近年来...
蚂蚁集团副总裁张俊杰:希望与成... 7月24日下午,APEC人工智能高级别论坛在成都举行。会议期间,蚂蚁集团副总裁、健康事业群总裁张俊杰...
北大博雅塔为王虹邓煜亮灯 极目新闻记者 陈洋洋7月24日晚,多位北京网友发帖称,在北京大学校园内的博雅塔上,看到了庆祝中国数学...
要和马六甲争高下的陆桥黄了,暴... (文/观察者网 郭光昊、张菁娟)绕开马六甲海峡,在泰国南部的狭窄地峡上“劈开一个口子”。这是每个中国...
AI做科研,走过概念期 2024年,诺贝尔化学奖颁给了谷歌DeepMind的两位人工智能科学家德米斯·哈萨比斯和约翰·杰珀,...
FLUX 3多模态AI模型登场... IT之家 7 月 24 日消息,Black Forest Labs 昨日(7 月 23 日)发布博文...