Go语言学习笔记—golang流程控制

本文详细介绍了Go语言的流程控制,包括if、if...else、if...else if、嵌套if、switch语句的语法、实例和注意事项。还涵盖了for循环、for range循环以及流程控制关键字break、continue和goto的使用方法,提供了丰富的代码示例。
摘要由CSDN通过智能技术生成

视频来源:B站《golang入门到项目实战 [2022最新Go语言教程,没有废话,纯干货!]》

文章为自己整理的学习笔记,侵权即删,谢谢支持!


一 Go语言中的流程控制简介

Go语言中的条件:

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

Go语言中的循环语句:

  • for循环

  • for range循环

go语言中的循环只有for循环,去除了whiledo while循环,使用起来更加简洁。

Go语言中的流程控制关键字:

  • break

  • continue

  • goto

二 Go语言中的if语句

go语言中的if语句和其他语言中的类似,都是根据给定的条件表达式运算结果来,判断执行流程。

2.1 语法

if 布尔表达式 {
   	
    // 代码块
}

注意:在go语言中布尔表达式不用使用括号。

2.2 实例演示

① 基础演示

package main

import (
	"fmt"
)

func main() {
   
	a := 1
	b := 2
	if a < b {
   
		fmt.Printf("a: %v\n", a)
	} 
}

运行结果:

a: 1

② 根据年龄判断是否成年

package main

import (
	"fmt"
)

func main() {
   
	age := 20
	if age > 18 {
   
		fmt.Println("成年")
	} 
	fmt.Printf("程序运行结束")
}

运行结果:

成年
程序运行结束

注:初始变量可以声明在布尔表达式里面,注意它的作用域(只能作用域if语句内,在if语句外引用则报错)

package main

import (
	"fmt"
)

func main() {
   
	if age := 20; age > 18 {
    // 将初始变量age放到表达式里
		fmt.Println("成年")
	} 
	fmt.Printf("程序运行结束")
}

2.3 注意事项

  1. 不需使用括号将条件包含起来
  2. 大括号{}必须存在,即使只有一行语句
  3. 左括号必须在ifelse的同一行
  4. if之后,条件语句之前,可以添加变量初始化语句,使用;进行分隔
  5. if语句表达式中不能使用0或非0表示真假
package main

import (
	"fmt"
)

func main() {
   
	var i = 1
	if i {
   		// 此处编译报错
		fmt.Println("真")
	}
	fmt.Printf("程序运行结束")
}

三 Go语言中的if else语句

go语言中的if else语句可以根据给定条件二选一。

3.1 语法

if 布尔表达式 {
   
   // 代码块1
} else {
   
   // 代码块2
}

强调一下: 双分支只会执行其中的一个分支。

3.2 实例演示

① 比较两个数的大小

package main

import (
	"fmt"
)

func main() {
   
	a := 1
	b := 2
	if a > b {
   
		fmt.Printf("\"a>b\": %v\n", "a>b")
	} else {
   
		fmt.Printf("\"a<=b\": %v\n", "a<b")
	}
	fmt.Println("程序运行结束")
}

运行结果:

"a<=b": a<b
程序运行结束

② 判断一个数是奇数还是偶数

package main

import (
	"fmt"
)

func main() {
   
	var num int
	fmt.Println("输入一个整数num:")
    fmt.Scan(&num)	// ftm.Scan()用于接收用户在终端输入的值

	if num%2 == 0 {
   
		fmt.Print("num 是偶数\n")
	} else {
   
		fmt.Print("num 是奇数\n")
	}
	fmt.Print("num 的值是:", num)

}

运行结果:

输入一个整数num:
7
num 是奇数
num 的值是:7

③ 判断一个人是否成年

package main

import (
	"fmt"
)

func main() {
   
	var age int
	fmt.Println("输入你的年龄:")
	fmt.Scan(&age)

	if age >= 18 {
   
		fmt.Println("你是成年人")
	} else {
   
		fmt.Println("你是未成年")
	}

}

运行结果:

输入你的年龄:
18
你是成年人

3.3 注意事项(同if语句)

  1. 不需使用括号将条件包含起来
  2. 大括号{}必须存在,即使只有一行语句
  3. 左括号必须在ifelse的同一行
  4. if之后,条件语句之前,可以添加变量初始化语句,使用;进行分隔
  5. if语句表达式中不能使用0或非0表示真假

四 Go语言中的if else if语句

go语言if语句可以进行多重嵌套使用,进行多重判断。

4.1 语法

if 布尔表达式1 {
   
    
    // 代码块1
    
} else if 布尔表达式2 {
   
    
    // 代码块2
    
}
...
else {
   
    
    // 代码块n
    
}

判断流程如下:

  1. 先判断条件表达式 1 是否成立,如果为真,就执行代码块 1

  2. 如果条件表达式 1 如果为假,就去判断条件表达式 2 是否成立, 如果条件表达式 2 为真,就执行代码块 2

  3. 依次类推.

  4. 如果所有的条件表达式不成立,则执行 else 的语句块。

    • else 不是必须的。

    • 多分支只能有一个执行入口。

4.2 实例演示

① 根据分数判断等级

package main

import (
	"fmt"
)

func main() {
   
	var score int
	fmt.Println("输入你的成绩:")
	fmt.Scan(&score)

	if score < 60 {
   
		fmt.Println("你的成绩为D")
	} else if score >= 60 && score <= 70 {
   
		fmt.Println("你的成绩为C")
	} else if score > 70 && score <= 90 {
   
		fmt.Println("你的成绩为B")
	} else {
   
		fmt.Println("你的成绩为A")
	}

}

运行结果:

输入你的成绩:
92
你的成绩为A

② 输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母

package main

import (
	"fmt"
)

func main() {
   
	//  Monday Tuesday Wednesday Thursday Friday Saturday Su
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值