流程控制语句
在go语言中,我们将掌握三大流程控制语句,分别是:一、顺序控制 。二、分支控制。三、循环控制。
顺序控制
何为顺序控制呢?假如有20行代码,那么程序将按照顺序,从第一行安装顺序运行到第二十行。
分支控制
分支控制,意味当程序运行到特定位置时,它将会选择一个分支去执行。分支控制又可分为:单分支、双分支、多分支。在Go语言中,我们将使用If语句来实现分支控制。
单分支
在单分支中,我们将使用If语句来实现。以下是其基本语法
if 条件表达式{
执行代码
}
当条件表达式为true时,执行“{}”内的执行代码;
流程图如下:
双分支
双分支下,我们将使用if-else语句,具体如下
if 条件表达式{
代码1
}else{
代码2
}
如果条件为真,则执行代码1;反之执行代码2。 流程图如下:
多分支
在多分支中,我们将使用if-else if语句。 基本语法如下:
if 条件1{
代码1
}else if 条件2 {
代码2
}
......
else{
代码n
}
流程图如下:
循环控制
循环控制意味着循环处理一段代码。如我们需要打印100句相同的话,我们当然可以使用100行fmt.Println来实现。但我相信不会有人这样做。这时我们只要使用循环语句,就可以很轻松的完成这个任务。
基本语法
在Go中,我们使用for语句来实现循环控制,基本语法如下:
for 变量初始化;条件;变量的迭代方式{
循环语句
}
用流程图表示的话如下:
由图中我们可以看出
for语句的一个运行流程。先是变量的初始化,然后判断循环条件的真假,真则执行语句并完成变量迭代然后继续判断;假则直接退出循环。由此我们其实可以看出for语句其实有4个基本要素:变量初始化、条件、变量的迭代方式、循环语句。
用for语句实现while
在Go语言中关于循环控制只有for语句这一种方法。而在c语言中却还有while和do while语句。这两种语句其实可以用for循环来实现。代码如下:
变量初始化
for{
if 循环条件{
break
}
循环语句
变量迭代
}
大家通过上述代码可以发现,for后的三个要素不见了,直接紧跟了大括号。其实这样的我们称之为死循环,意味着它会无限循环下去。显然,在程序中我们不希望它出现死循环,所以在for的循环体内,我嵌套了一个条件控制语句,当满足我设定的循环条件时,程序则会执行第3行我加入了的break语句,程序将会跳出这个循环。这样,我们就在Go用for实现了while的功能。
用for语句实现do while功能
下面,我们再看一下do while的实现方法
变量初始化
for{
循环语句
变量迭代
if 循环条件{
break
}
}
这段代码的实现与上方其实是类似的,只不过是顺序变了。在do while中,我们只是先执行循环语句,变量迭代后再去判断循环条件。此处同样也用到了break语句来跳出这个死循环。
总结
在本章中,我们介绍了三种流程控制,其实学完这里之后,我们已经具备了一些编程思维。同时将Go语言与C语言相比,我们也可以发现Go语言的语言简洁的特性。如Go中不曾含有while和do while语句。最后再提一点,for和if后的大括号必须跟它们在同一行,大括号不能单独成行,否则会报错。这也与C语言截然不同