go语言流程控制小结

目录

 

1 for

2 if

3 switch

4 defer


1 for

go语言中的只有一种循环结构:for 循环,节本的 for 循环和由三个部分组成,它们用分号隔开:

    初始化语句:在第一次迭代前执行

    条件表达式:在每次迭代前求值

    后置语句:在每次迭代的结尾执行

其中初始化语句和后置语句是可选的,可以不写

同时for循环也可以是Go语言中的 “while” ,可以去掉分号,就类似Java中 while 语句了

2 if

Go 的 if 语句与 for 循环类似,表达式外无需小括号,而大括号则是必须的

在 if 的简短语句中声明的变量同意可以在任何对应的 else 块中使用

同 for 语句一样,if 语句可以在条件表达式前执行一个简单的语句,该语句声明的变量的作用域仅在 if 之内

3 switch

Go 的 switch 语句类似于 C,C++,Java,JavaScript 和 PHP 中的,不过 Go 只运行行选定的 case,而非之后所有的 case。

实际上,Go 自动提供了这些语言中每个 case 后面所需要的 break 语句。除非 fallthrough 语句结束,否则分支会自动终止。Go

的另一点重要的不同在于 switch 无需为常量,且取值不必为整数

没有条件的 switch 同 switch true 一样。这种形式能将一长串 if-then-else 写得更加清晰

4 defer

defer 语句会将函数推迟到外层函数返回之后执行。推迟调用的函数其参数会立即求值,但是知道外层函数返回前该函数都不会被调用

推迟的函数调用会被压入一个栈中。当外层函数返回时,被推迟的函数会按照后进先出的顺序调用

输出结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值