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语言的循环语句有进一步的了解吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读。


相关内容

热门资讯

馆校合作丨南充科技馆走进仪陇县... 馆校合作 南充科技馆走进 NCSTM 仪陇县实验学校 天府科普研学游 4月29日上午,南充科技馆科普...
我国本土发现的首块月球陨石有重... 我国本土发现的首块月球陨石揭示了月球两次关键地质事件,并发现一种月球新矿物。 2026年世界地球日,...
马斯克的GPU也在摸鱼?狂囤几... 新智元报道 编辑:元宇 【新智元导读】马斯克囤了几十万张卡,结果只跑了11%?据媒体报道,xAI的...
原创 特... 4月24日,白宫以总统人事办公室的名义,向美国国家科学委员会的22名在任委员群发了一封冷冰冰的电子邮...
以军总参谋长:若伊朗袭击以色列... △以色列国防军总参谋长扎米尔(资料图)当地时间5月5日,以色列国防军总参谋长扎米尔表示,如果伊朗在海...
神龙拜耳光伏有限公司生产支架 光伏支架,到底“支”起了什么? 提到光伏电站,很多人第一反应是那一块块深蓝色的电池板。但真正让这些电...
食品级制冰袋厂家选型指南:上海... 导语:在餐饮、物流、医药等行业中,制冰袋作为低温保鲜的核心耗材,其性能稳定性直接影响产品品质与运营效...
南通崇川发放首笔“算力券”补贴 购买、领券、付款……近日,随着在南通市公共算力服务平台算力超市完成中国移动算力服务的租用下单操作,江...
百万上下文之后,拼什么? 文 | 科技不许冷 过去几天,科技圈的视线全被DeepSeek吸走了。 满屏都是传闻中的估值溢价,...
成语之都 好玩邯郸丨邯山区AI... (来源:邯郸新闻网) 转自:邯郸新闻网 近日,在邯山区科技创新产业园内的邯郸人工智能教育基地,一拨拨...