之前已经发过两篇了,由于时间紧,加班多,所以耽误了好久。如下是链接。
【跟汉云自学】 从零学Golang(一):进入GO的世界
【跟汉云自学】 从零学Golang(二):变量与基本类型
————————————————————————————————————————————————————————————————
今天就是第三篇了。
控制流可以一种语言很重要的一个部分。
if-else
例如:
可以看到if后的条件可以不用加括号的。
但是大括号是必须的,并且要与if在同一行。
if 的表达式也可以用逻辑运算符。
如:
goto
这个的用法与C语言相似
for
for init; condition; post { }
for condition { }
for { }
第一种与C语言的for一样的用法
第二种相当于C语言中的while
第三种就是一个死循环
break
提前退出循环,终止当前的循环。
不同的一点用法,看上去很高级。
循环嵌套循环时,可以在break后指定标签。用标签决定哪个循环被终止:
这里的break终止了J标号的那个循环。
continue
用法与C语言一样,跳过本次循环。
range
这是个迭代器,当被调用的时候,从它循环的内容中返回一个键值对。基于
不同的内容,range返回不同的东西。
switch
表达式不必是常量或整数,执行的过程从上至下,直到找到匹配项.
switch没有表达式时,相当于if-else-if-else
虽然是从上到下匹配,但是匹配失败后不会自动向下继续匹配的。
但是可以用fallthrough让它继续匹配去。
如:
当s=1的时候,程序是不会去执行case 1的。但是在case 0那里加上fallthrough,当s=1时,才会继续向下匹配的。这就是为什么switch里没有用到break的原因吧。
default的用法与C语言的用法倒是一样的。
case后可以不止一个条件,可以是多个,用逗号隔开。
如:
case 1,2,3,4,5:
在C语言中要写成:
这些控制语句是构成算法的基本单位了,当然还是数据结构等等,多好的算法,都是在这些语句间的组合了。
————————————————————————————————————————————————————————————————
作业:
日历,确定每个月的天数。
|