Go 语言入门指南(二) | 青训营

78 阅读3分钟

流程控制语句

在go语言中,我们将掌握三大流程控制语句,分别是:一、顺序控制 。二、分支控制。三、循环控制。

顺序控制

何为顺序控制呢?假如有20行代码,那么程序将按照顺序,从第一行安装顺序运行到第二十行。

分支控制

分支控制,意味当程序运行到特定位置时,它将会选择一个分支去执行。分支控制又可分为:单分支双分支多分支。在Go语言中,我们将使用If语句来实现分支控制。

单分支

在单分支中,我们将使用If语句来实现。以下是其基本语法

if 条件表达式{
         执行代码
}

当条件表达式为true时,执行“{}”内的执行代码;

流程图如下: image.png

双分支

双分支下,我们将使用if-else语句,具体如下

if 条件表达式{
        代码1
}else{
        代码2
}

如果条件为真,则执行代码1;反之执行代码2。 流程图如下:

image.png

多分支

在多分支中,我们将使用if-else if语句。 基本语法如下:

if 条件1{
        代码1
}else if 条件2 {
        代码2
}
 ......
 else{
        代码n
}

流程图如下:

image.png

循环控制

循环控制意味着循环处理一段代码。如我们需要打印100句相同的话,我们当然可以使用100行fmt.Println来实现。但我相信不会有人这样做。这时我们只要使用循环语句,就可以很轻松的完成这个任务。

基本语法

在Go中,我们使用for语句来实现循环控制,基本语法如下:

for 变量初始化;条件;变量的迭代方式{
        循环语句
}

用流程图表示的话如下:

image.png 由图中我们可以看出for语句的一个运行流程。先是变量的初始化,然后判断循环条件的真假则执行语句并完成变量迭代然后继续判断;则直接退出循环。由此我们其实可以看出for语句其实有4个基本要素:变量初始化、条件、变量的迭代方式、循环语句。

用for语句实现while

在Go语言中关于循环控制只有for语句这一种方法。而在c语言中却还有whiledo 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中不曾含有whiledo while语句。最后再提一点,forif后的大括号必须跟它们在同一行,大括号不能单独成行,否则会报错。这也与C语言截然不同