Go菜鸟笔记:第四章 Go语言中的控制语句

控制语句

向c语言一样,Go语言中常见的控制语句如下:

  1. if…else语句
  2. switch…case语句
  3. for语句
  4. 没有while关键字
  5. break 和 continue

比较运算符

您可以确定变量或值之间的相等性或差异。

  • == 等于

  • != 不等于

  • > 大于

  • < 小于

  • >= 大于或等于

  • <= 小于或等于

    package main
    
    import "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…elseswitch…case

if…else

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…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 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)
	}
}

循环–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 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
发布了51 篇原创文章 · 获赞 34 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/yuzhou_1shu/article/details/103542305