Go语言探索 - 5(原创)

  1. 云栖社区>
  2. 博客>
  3. 正文

Go语言探索 - 5(原创)

小猪看流星 2018-06-15 12:51:00 浏览705
展开阅读全文

Go语言基础系列博客用到的所有示例代码

上一篇文章 中,主要学习了Go语言的算术运算符、关系运算符 、逻辑运算符 、赋值运算符以及运算符优先级,本篇文章主要学习Go语言的条件判断语句以及循环语句。

条件判断语句:

由于if else if这种条件判断语句在很多种语言都有相似性,这里就快速学习下Go语言中的条件判断语句,首先是if语句:

img_f5ba2ff63e264895039fa787885572d4.png
if语句

if语句表达的是 判断语句为true即执行true里面的语句块,否则执行else里面的语句;

if else if  else语句是对 if else 语句的拓展与补充 他可以有多个判断条件,多个判读条件就是基于else if括号里面的条件进行判断:

img_346023a187062cec00516553c4ed6d80.png
else if

但是如果写大量的else if语句 会造成语句拥挤,这个时候可以使用switch语句进行判断:

img_a8c3b1b730378b779dca68ebebe72fb1.png
switch语句

循环语句:

首先是常见的for循环:

img_534eb70612ee8761ebc8fa7ff8bab75f.png
for循环

这种常见的写法就是: for init;condition; post {  }

三个参数:

init: 一般为赋值表达式,给控制变量赋初值;

condition: 关系表达式或逻辑表达式,循环控制条件;

post: 一般为赋值表达式,给控制变量增量或减量。

执行流程:

判别赋值表达式 init 是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行 post,进入第二次循环,再判别 condition;否则判断 condition 的值为假,不满足条件,就终止for循环,执行循环体外语句。

嵌套循环:

现在我要输出一个 9*9乘法表,在Go语言中该如何使用?可以参考Java中的写法,写法如下:

img_0cdd90d3f4a593cf5db6376e17426342.png
循环嵌套

那么Go语言中的循环控制语句有以下三种:

break:经常用于中断当前 for 循环或跳出 switch 语句

continue:跳过当前循环的剩余语句,然后继续进行下一轮循环。

goto:将控制转移到被标记的语句。

下面对上面的3种循环控制语句一个个说明使用,

Go 语言中 break 语句用于以下两方面:

A:用于循环语句中跳出循环,并开始执行循环之后的语句。

B:break在switch(开关语句)中在执行一条case后跳出语句的作用。

img_6543eb51965444b0c9d52a316e7e012c.png
break语句

Go 语言的 continue 语句值如何符号条件,不是跳出循环,而是跳过当前循环执行,接着继续执行下一次循环语句。for 循环中,执行 continue 语句会触发for增量语句的执行。如下图:


img_f19fe2ea32c708e562b0e8677892f88d.png
continue

还是沿用break语句的那张图,只是将break改成了continue。如果使用符合逻辑定义的continue语句,那么 这个数组 arrayName[3] 也就是45451跳出了本次循环(也就没有打印45451) 但是后面的条件会继续执行打印数组的值。

Go 语言的 goto 语句可以无条件地转移到过程中指定的行。

goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。下面我们首先看goto语句的使用:

img_0e52fbf634912fd370e456a3b9d946d4.png
goto语句

下面是goto的一种写法:

img_8c32e5ee821cb328e4f0c5ad87b4ac72.png
goto - 2

本篇文章关于Go语言的条件判断语句以及循环语句的学习基本上就结束了,本章内容客观来说都是相对较基础。

如果这篇文章对你有帮助,希望各位看官留下宝贵的star,谢谢。

Ps:著作权归作者所有,转载请注明作者, 商业转载请联系作者获得授权,非商业转载请注明出处(开头或结尾请添加转载出处,添加原文url地址),文章请勿滥用,也希望大家尊重笔者的劳动成果。

网友评论

登录后评论
0/500
评论