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

举报
宇宙之一粟 发表于 2022/01/15 22:20:09 2022/01/15
【摘要】 控制语句 向c语言一样,Go语言中常见的控制语句如下: if…else语句switch…case语句for语句没有while关键字break 和 continue 比较运算符 您可以确定变量或值之...

控制语句

向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)
    }
    
        
       
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

逻辑运算符


&& and

|| or

! not

var (
	c = 5
	d = 8
)

fmt.Println(c>d && c!=d)
fmt.Println(!(c>=d))
fmt.Println(c==d || c>d)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

选择

在Go语言中可以用两种方法做选择, if…elseswitch…case

if…else

if conditional {
// do something
}else{
// do another job
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

switch…case

switch option {
	case option1:
		// do option1 job
	case option2:
		// do option2 job
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
	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..")

	}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

循环–for

当我们需要做重复的运算是,循环语句是很有用的。语法格式如下:

for initialization;conditional;increment/decrement {
}

  
 
  • 1
  • 2
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)
	}
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

循环–while

Go不提供和C语言和Python那样的 while 关键字,我们可以使用 for 语句(省略条件)来实现while语句的功能。

	// while的go实现
	m := 0
	for m < 5 {
		fmt.Println(m)
		m ++
	}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

程序输出结果

i==3 时,遇到break,循环退出,所以3和4都不会打印。
j==7时,遇到continue,本次迭代结束,所以不会打印7,而后面的8,9,10会一次打印出,然后程序结束。
程序运行结果如下,验证正确:

0
1
2
5
6
8
9
10

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

文章来源: blog.csdn.net,作者:宇宙之一粟,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/yuzhou_1shu/article/details/103542305

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。