Golang (流程控制语句)

一、分支结构

1. if 分支

Go 语言提供了以下几种条件判断语句:

语句 描述
if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成。
if…else 语句 if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。
if 嵌套语句 你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。
switch 语句 switch 语句用于基于不同条件执行不同动作。
select 语句 select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。

1.1 单分支

if 条件表达式 {
  逻辑代码
}

当条件表达式为 true 时,就会执行得的代码。

条件表达式左右的 () 可以不写,也建议不写。
if 和表达式中间,一定要有空格。
在 Golang 中,{} 是必须有的,就算你只写一行代码。
package main

import "fmt"

func main() {
	var count int = 100
	if count > 30 {
		fmt.Println("数量充足!")
	}
}

// ------ //
数量充足!

1.2 双分支

if 条件表达式 {
   逻辑代码1
} else {
   逻辑代码2
}

// 下面代码格式是错误的
if 条件表达式 {
   逻辑代码1
}
else {
   逻辑代码2
} 

示例:

package main

import "fmt"

func main() {
	var count int = 70
	if count < 30 {
		fmt.Println("库存不足")
	} else {
		fmt.Println("库存充足")
	}
}

1.3 多分支

if 条件表达式1 {
    逻辑代码1
} else if 条件表达式2 {
    逻辑代码2
}
......
else {
    逻辑代码n
}

示例:

// 方法一
package main

import "fmt"

func main() {
	var grade int
	fmt.Println("请输入分数:")	// 提示语句
	fmt.Scanf("%d",&grade)
	a := grade

	if a >= 90 {
		fmt.Println("成绩为 A")
	}
	if a >= 80 && a < 90 {
		fmt.Println("成绩为 B")
	}
	if a >= 60 && a < 80 {
		fmt.Println("成绩为 C")
	}
	if a < 60 {
		fmt.Println("成绩为 D")
	}
}

// 方法二
package main

import "fmt"

func main() {
	var grade int
	fmt.Println("请输入分数:")	// 提示语句
	fmt.Scanf("%d",&grade)
	a := grade

	if a >= 90 {
		fmt.Println("成绩为 A")
	} else if a >= 80 {//else隐藏:score < 90
		fmt.Println("成绩为
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值