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

举报
宇宙之一粟 发表于 2022/01/15 22:20:09 2022/01/15
1.4k+ 0 0
【摘要】 控制语句 向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)
    }
    
        
       

逻辑运算符


&& 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

  
 

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

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

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

作者其他文章

评论(0

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

    全部回复

    上滑加载中

    设置昵称

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

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

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