向c语言一样,常见的控制语句:
您可以确定变量或值之间的相等性或差异。
&& and
|| or
! not
var (
c = 5
d = 8
)
fmt.Println(c>d && c!=d)
fmt.Println(!(c>=d))
fmt.Println(c==d || c>d)
在Go语言中可以用两种方法做选择, if..else 和 switch..case
if conditional {
// do something
}else{
// do another job
}
package main
import "fmt"
func main() {
var (
a = 5
b = 8
)
if a > b || a-b < a {
fmt.Println("conditional-->a>b || a-b<a")
}else {
fmt.Println("..anothor")
}
}
switch option {
case option1:
// do option1 job
case option2:
// do option2 job
}
selected := 2
switch selected {
case 0:
fmt.Println("seleted = 0")
case 1:
fmt.Println("seleted = 1")
case 2:
fmt.Println("seleted = 2")
case 3:
fmt.Println("seleted = 3")
default:
fmt.Println("other..")
}
当我们需要做重复的运算是,循环语句是很有用的。语法格式如下:
for initialization;conditional;increment/decrement {
}
package main
import "fmt"
func main() {
// iteration - for
var i int
for i=0;i<5;i++ {
fmt.Println(i)
}
for j:=5;j<11;j++ {
fmt.Println(j)
}
}
Go不提供和C语言和Python那样的 while
关键字,我们可以使用 for 语句(省略条件)来实现while语句的功能。
// while的go实现
m := 0
for m < 5 {
fmt.Println(m)
m ++
}
break可以被用来中断程序包含它的那段循环,并开始下一阶段,continue语句可以跳过本次迭代的这一段代码,并开始下一段迭代。比如:我们程序中有如下循环,使用break会在value=3的时候循环终止,而如果我们使用continue则会跳出value=7的这一次迭代,开始进行下一轮迭代。
package main
import "fmt"
func main() {
var i int
for i=0; i < 5; i++ {
if i == 3 {
break
}
fmt.Println(i)
}
for j:=5; j < 11; j++ {
if j == 7{
continue
}
fmt.Println(j)
}
}
当 i==3
时,遇到break,循环退出,所以3和4都不会打印。
当j==7
时,遇到continue,本次迭代结束,所以不会打印7,而后面的8,9,10会一次打印出,然后程序结束。
程序运行结果如下,验证正确:
0
1
2
5
6
8
9
10