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发帖!! 讲得好,支持!!! {:65:}{:65:}{:65:}
页:
[1]