golang学习笔记--流程控制

13 篇文章 0 订阅
10 篇文章 0 订阅

 

分类

顺序、选择、循环

顺序结构

没有其他流程控制语句时,默认从上到下顺序执行

分支结构

单分支

注意:go语言不允许省略花括号

还可以同时赋值和判断

双分支

这种格式是错的

多分支

多分支不能同时执行两个语句,它会按顺序判断,一个不行就接着判断下一个,直到判断为真跳出判断 或 全部判断结束都不执行

最后的else可以不写(如果没有必要,或者不想判断别的)

switch语句

也是只判断一次,switch括号里的是用于判断的变量,case对应不同的值,当输入和case相同,就会执行case后的语句,default则是当所有case都不匹配时会执行的语句

要注意,如果没有在句子后面加break,就会导致当前case执行完成后继续执行下面的句子,直到遇到break或全部执行完

go语言的switch的case可以多个值对应一个的结果

循环结构

for循环

go语言没有while和do while结构

可以用for来实现while

实现do while

循环退出

1,达成了循环结束条件

2,break、continue


分类

顺序、选择、循环

顺序结构

没有其他流程控制语句时,默认从上到下顺序执行

分支结构

单分支

注意:go语言不允许省略花括号

package main

import "fmt"

func main()  {
	var a int = 1
	if a > 0 {
		fmt.Println("a大于0")
	}
}

还可以同时赋值和判断

    if a := 20; a<50{
		fmt.Println("a小于50")
	}

双分支

func main()  {
	var a int
	fmt.Println("请输入一个整数")
	fmt.Scanln(&a)
	if a > 10 {
		fmt.Println("你输入的数大于10")
	}else {
		fmt.Println("你输入的数小于10")
	}
}
//或者用这种格式
func main()  {
	var a int
	fmt.Println("请输入一个整数")
	fmt.Scanln(&a)
    if a > 10 {
		fmt.Println("你输入的数大于10")
	} else
	{
		fmt.Println("你输入的数小于10")
	}
}

这种格式是错的

多分支

多分支不能同时执行两个语句,它会按顺序判断,一个不行就接着判断下一个,直到判断为真跳出判断 或 全部判断结束都不执行

👆这里a小于10,第一条判断为假,接着判断第二条,也为假,然后结束

👆这里第一条判断为真,然后结束判断,输出语句

func main()  {
	var a int
	fmt.Println("请输入一个整数")
	fmt.Scanln(&a)
	if a > 9 {
		fmt.Println("你输入的数大于10")
	} else if a < 9 {
		fmt.Println("你输入的数小于10")
	}else {
		fmt.Println("你输入的数等于9")
	}
}

最后的else可以不写(如果没有必要,或者不想判断别的)

func main()  {
	var a int
	fmt.Println("请输入一个整数")
	fmt.Scanln(&a)
	if a > 9 {
		fmt.Println("你输入的数大于10")
	} else if a <= 9 {
		fmt.Println("你输入的数小于10")
	}
}

switch语句

也是只判断一次,switch括号里的是用于判断的变量,case对应不同的值,当输入和case相同,就会执行case后的语句,default则是当所有case都不匹配时会执行的语句

要注意,如果没有在句子后面加break,就会导致当前case执行完成后继续执行下面的句子,直到遇到break或全部执行完

go语言的switch的case可以多个值对应一个的结果

func main()  {
	var a int
	fmt.Println("请输入一个整数")
	fmt.Scanln(&a)
	switch a {
	case 1,2,3,4,5:
		fmt.Println("现在是工作日")
	case 6,7:
		fmt.Println("现在是休息日")
	default:
		fmt.Println("你输入的不是一个有效数字")
	}
}

循环结构

for循环

func main()  {
	for a := 0;a<10 ;a++  {
		fmt.Println(a)
	}
}

go语言没有while和do while结构

可以用for来实现while

func main()  {
	var a int = 0//相当于for的变量初始化
	for {
		//相当于for里的循环条件
		if(a > 10){
			break //跳出循环
		}
		//相当于for的循环体
		fmt.Println(a)
		a++
	}
}

实现do while

    var a int = 0//相当于for的变量初始化
	for {
		//相当于for的循环体
		fmt.Println(a)
		a++
		//相当于for里的循环条件
		if(a > 0){
			break //跳出循环
		}
	}

循环退出

1,达成了循环结束条件

2,break、continue

2.1,break,直接跳出循环,不继续执行

2.2,continue,跳出本次循环,本次循环到continue后的语句不再执行,但会继续执行下一次循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞鸟malred

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值