今天,咱们来看下条件语句和循环语句,学起来!数组
//if
if a%2 == 0 {
println("偶数")
}
//if else
if a%2 == 0 {
println("偶数")
}else {
println("奇数")
}
//多分支
if a > 0 {
println("大于零")
}else if a == 0 {
println("等于零")
}else {
println("小于零")
}
复制代码
在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句,形如学习
if a > 0 {
if x {
//...
}else {
//...
}
}else {
//...
}
复制代码
注意:if 语句没有圆括号,可是必需要有花括号ui
switch i {
case 0:
fmt.Printf("zero")
case 1:
fmt.Printf("one")
case 2:
fallthrough
case 3:
fmt.Printf("three")
case 4, 5, 6:
fmt.Printf("four, five, six")
default:
fmt.Printf("Default")
}
复制代码
不知道你们有没有注意到,switch
语句是没有break
的,并且还能够case
多个值。这里你们会有个疑惑,当i==2时,会输出什么,答案是:three。由于若是在case
中明确添加 fallthrough
关键字,才会继续执行紧跟的下一个case。 注意到一个比较有意思的地方,switch
后面的表达式并非必须的:spa
switch {
case 0 <= Num && Num <= 3:
fmt.Printf("0-3")
case 4 <= Num && Num <= 6:
fmt.Printf("4-6")
case 7 <= Num && Num <= 9:
fmt.Printf("7-9")
default:
fmt.Printf(">9")
}
复制代码
看了上面代码,其实这段代码逻辑与使用if-else
结构等同。 select
你们能够暂且不用管,到后面我会单独写一篇文章介绍的。.net
for语句的三种格式调试
//一、经典的for循环
for i:=0;i<10 ;i++ {
fmt.Printf("%d\n",i)
}
//二、简洁的for循环
i := 1
for i < 10 {
fmt.Printf("%d\n",i)
i++
}
//三、死循环的for语句
i := 1
for {
if i>5 {
break
}
fmt.Printf("%d\n",i)
i++
}
复制代码
另外一种用法:for 循环的 range 格式能够对 slice、map、数组、字符串等进行迭代循环。code
numbers := [6]int{1, 2, 3, 4}
for i, x := range numbers {
fmt.Printf("第 %d 位 x 的值 = %d\n", i, x)
}
复制代码
不难想到,上面这段代码的输出:cdn
第 0 位 x 的值 = 1
第 1 位 x 的值 = 2
第 2 位 x 的值 = 3
第 3 位 x 的值 = 4
第 4 位 x 的值 = 0
第 5 位 x 的值 = 0
复制代码
注意:go语言中没有while语句 有循环语句,那就一定要提提循环控制语句:continue、break和goto blog
continue
和
break
和其余语言的中的用法相似,这里给出一个goto的使用例子。可是,在实际编写结构化程序的时候,通常都不主张使用goto语句,否则会给代码Review和调试程序形成困难。
/* 定义局部变量 */
var a int = 10
/* 循环 */
LOOP: for a < 20 {
if a == 15 {
/* 跳过迭代 */
a = a + 1
goto LOOP
}
fmt.Printf("a的值为 : %d\n", a)
a++
}
复制代码
输出:three
a的值为 : 10
a的值为 : 11
a的值为 : 12
a的值为 : 13
a的值为 : 14
a的值为 : 16
a的值为 : 17
a的值为 : 18
a的值为 : 19
复制代码
看到这里,对于Go的运算符、条件语句和循环语句有了大概的了解。从其余语言转学Go的同窗,能够比较下这部分语法跟你以前掌握的语言的异同。好比以前掌握Java、PHP或者C,就能够对比下这部分,这样对比学习能够加深对知识的理解,可以更快掌握。无论以前有没有开发语言的基础,学习一门新语言的重点仍是本身要多多练习。
原创文章,若需转载请注明出处!
欢迎扫码关注公众号「Golang来啦」或者移步 seekload.net ,查看更多精彩文章。