向c语言一样,Go语言中常见的控制语句如下:
- if…else语句
- switch…case语句
- for语句
- 没有while关键字
- break 和 continue
比较运算符
您可以确定变量或值之间的相等性或差异。
- == 等于
- != 不等于
- > 大于
- < 小于
- >= 大于或等于
- <= 小于或等于
package mainimport "fmt"func main() { var ( a = 2 b = 10 ) fmt.Println(a > b) fmt.Println(a < b) fmt.Println(a >= b) fmt.Println(a <= b) fmt.Println(a != b) fmt.Println(a == b)}
逻辑运算符
&& 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…else
if conditional {// do something}else{// do another job}
package mainimport "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…case
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
当我们需要做重复的运算是,循环语句是很有用的。语法格式如下:
for initialization;conditional;increment/decrement {}
package mainimport "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) }}
循环–while
Go不提供和C语言和Python那样的 while
关键字,我们可以使用 for 语句(省略条件)来实现while语句的功能。
// while的go实现 m := 0 for m < 5 { fmt.Println(m) m ++ }
break 和 continue
break可以被用来中断程序包含它的那段循环,并开始下一阶段,continue语句可以跳过本次迭代的这一段代码,并开始下一段迭代。比如:我们程序中有如下循环,使用break会在value=3的时候循环终止,而如果我们使用continue则会跳出value=7的这一次迭代,开始进行下一轮迭代。
package mainimport "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会一次打印出,然后程序结束。
程序运行结果如下,验证正确:
012568910
评论(0)