文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

golang流程控制语句怎么使用

2023-07-04 22:01

关注

本文小编为大家详细介绍“golang流程控制语句怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang流程控制语句怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

流程控制语句:1、if语句,由一个布尔表达式后紧跟一个或多个语句组成;2、“if…else”语句,else中的表达式在布尔表达式为false时执行;3、switch语句,用于基于不同条件执行不同动作;4、select语句;5、for循环语句,语法“for k,v := range oldmap{newmap[k]=v}”;6、循环控制语句break、continue、goto。

1、条件分支语句

和c语言类似,相关的条件语句如下表所示:

语句描述
if 语句if 语句 由一个布尔表达式后紧跟一个或多个语句组成。
if…else 语句if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。
switch 语句switch 语句用于基于不同条件执行不同动作。
select 语句select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。

if 布尔表达式 {   }

if 布尔表达式 {   } else {}

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

select {    case communication clause  :       statement(s);          case communication clause  :       statement(s);        default :        statement(s);}

注意:

  • 每个case必须都是一个通信

  • 所有channel表达式都会被求值,所有被发送的表达式都会被求值

  • 如果任意某一个通信都可以,它就执行,其他就忽略

  • 如果有多个case都可以运行,select就会随机挑选一个来执行。

  • 如果没有一个case可以被运行:如果有default子句,就执行default子句,select将被阻塞,直到某个通信可以运行,从而避免饥饿问题。

2、循环语句

2.1 循环处理语句

与多数语言不同的是,Go语言中的循环语句只支持 for 关键字,而不支持 while 和 do-while 结构,关键字 for 的基本使用方法与C语言和 C++ 中非常接近。

go中时使用for实现循环的,共有三种形式:


语法
和c语言中的for相同for init; condition; post {}
和c语言中的while相同for condition{}
和c语言中的for(;;)相同for{}

除此以外,for循环还可以直接使用range对slice、map、数组以及字符串等进行迭代循环,格式如下:

for key, value := range oldmap {newmap[key] = value}

2.2 循环控制语句

控制语句详解
break中断跳出循环或者switch语句
continue跳过当前循环的剩余语句,然后继续下一轮循环
goto语句将控制转移到被标记的语句

break

break主要用于循环语句跳出循环,和c语言中的使用方式是相同的。且在多重循环的时候还可以使用label标出想要break的循环。
实例代码如下:

a := 0for a<5 {fmt.Printf("%d\n", a)a++if a==2 {break;}}

continue

Go 语言的 continue 语句 有点像 break 语句。但是 continue 不是跳出循环,而是跳过当前循环执行下一次循环语句。在多重循环中,可以用标号 label 标出想 continue 的循环。
实例代码如下:

    // 不使用标记    fmt.Println("---- continue ---- ")    for i := 1; i <= 3; i++ {        fmt.Printf("i: %d\n", i)            for i2 := 11; i2 <= 13; i2++ {                fmt.Printf("i2: %d\n", i2)                continue            }    }    // 使用标记    fmt.Println("---- continue label ----")    re:        for i := 1; i <= 3; i++ {            fmt.Printf("i: %d", i)                for i2 := 11; i2 <= 13; i2++ {                    fmt.Printf("i2: %d\n", i2)                    continue re                }        }

goto

goto语句主要是无条件转移到过程中指定的行。goto语句通常和条件语句配合使用,可用来实现条件转移、构成循环以及跳出循环体等功能。但是并不主张使用goto语句,以免造成程序流程混乱。
示例代码如下:

var a int = 0LOOP: for a<5 {if a == 2 {a = a+1goto LOOP}fmt.Printf("%d\n", a)a++}

以上代码中的LOOP就是一个标签,当运行到goto语句的时候,此时执行流就会跳转到LOOP标志的哪一行上。

读到这里,这篇“golang流程控制语句怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯