dinglz 发表于 2022-5-1 22:03:49

Go语言高级开发与实战 02 分支与循环

static/image/hrline/2.gif

分支结构-if-else

在Go语言中,关键字if是用于测试某个条件(布尔型或逻辑型)的语句。如果该条件成立,则会执行if后由大括号{}括起来的代码块,否则就忽略该代码块继续执行后续的代码。

如果存在第二个分之,则可以在上面的代码的基础上添加else关键字以及另一代码块。这个代码块中的代码只有在条件不满足时才会执行。if{}和else{}中的两个代码块时相互独立的分之,两者只能执行其中一个。一般来说,if-else的分支数量是没有限制的。但是为了代码的可读性,还是不要在if后面加入太多的if-else的结构。如果必须使用这种形式,则尽可能把先满足的条件放在前面。

关键字if和else之后的{必须和关键字在同一行。如果使用了if-else结构,则前段代码块的}必须和if-else关键字在同一行。这两条规则都是被编译器强制制定的,否则编译不能通过。

对于C的范式,大括号往往与关键字分离,但在go中,是严格在同一行出现的。

这是一个基本的结构

if 条件 {
                满足条件执行
        } else {
                不满足条件执行
        }

下面是一个if-else的例子




static/image/hrline/2.gif


For循环
Go语言的for循环有三种形式只有其中一种使用分号,这种形式符合C的范式。


[*]和C语言的for一样

这是它的基本结构

for 初始化条件; 继续执行条件; 继续执行操作 {

        }

下面是一个例子



[*]和C的While一样

其基本结构是

for 继续执行的条件 {
                执行代码
        }

下面是一个例子



[*]和C的for(;;)一样

即死循环,同2,但是永远执行,不在赘述。



后期go的用法还可以遍历切片等,利用range关键字。

for-range结构是Go语言一种特有的迭代结构,在许多情况下都非常有用。它可以遍历数组、切片、字符串、map和通道(channel)

这里先给出例子



使用for循环,有以下几点需要注意


[*]{必须与for在同一行
[*]Go语言不支持以逗号为间隔的多个赋值语句,必须用平行赋值的方式赖初始化多个变量
[*]Go中的for循环同样支持用contiue和break来控制循环,但是它提供了一个更高级的break,可以选择中断哪个循环。
[*]在for循环中,如果循环被break,goto,return,panic等语句强制退出,则之后的语句不会被执行



static/image/hrline/2.gif


switch-case

相对常用,用简单的例子来认识一下



这一章暂时就说到这里,后面会了解到字符串的知识和技巧


static/image/hrline/2.gif


后言







实例代码已经往后写了挺多的了,只是文章暂时没有跟上,想提前看看这些代码的可以私聊我




PS: 强烈要求支持markdown发帖!!

无踪的风 发表于 2022-5-1 23:52:34

讲得好,支持!!!

乔帮主 发表于 2022-5-2 10:10:53

{:65:}{:65:}{:65:}
页: [1]
查看完整版本: Go语言高级开发与实战 02 分支与循环