golang流程控制if,switch分支
if 分支
if 单分支
if 条件表达式 {
逻辑代码
}
package main
import "fmt"
func main() {
//var a int = 9
//if a < 10 { //判断a《10位true,所以为执行下面的打印a的值。
if a := 9; a < 10 { //定义a的值为9,判断a《10位true
fmt.Printf("a的值为: %v\n", a)
}
}
执行结果
a的值为: 9
if 双分支
if 条件表达式 {
逻辑代码1
} else {
逻辑代码2
}
当条件表达式成立时执行逻辑代码1,当条件表达式不成立执行逻辑代码2
package main
import "fmt"
func main() {
if n1 := 20; n1 > 30 { //判断n1的值是否大于30,结果为false
fmt.Printf("a的值大于30,a的值为%v\n", n1)
} else { //注意else必须写}一行,不能写在下面
fmt.Printf("a的值小于30,a的值为%v\n", n1)
}
}
执行结果
a的值小于30,a的值为20
if 多分支
if 条件表达式1 {
逻辑代码1
} else if 条件表达式2 {
逻辑代码2
}
.......
else {
逻辑代码n
}
if条件表达式成立就执行哪个逻辑代码,都不成立就执行else下面的代码
package main
import "fmt"
// 多分支
func main() {
if n3 := 81; n3 >= 100 { //n3的值大于等于100,执行打印
fmt.Printf("n3的值大于100,n3的值为:%v\n", n3)
} else if n3 >= 90 { //n3的值大于等于90,执行打印
fmt.Printf("n3的值大于90,n3的值为:%v\n", n3)
} else if n3 >= 80 { //n3的值大于等于80,执行打印
fmt.Printf("n3的值大于80,n3的值为:%v\n", n3)
} else { //上面的条件都不符合,则执行这个打印
fmt.Printf("n3的值小于80,n3的值为:%v\n", n3)
}
}
执行结果
n3的值大于80,n3的值为:81
switch 分支
switch 表达式 {
case 值1,值2,.….:
语句块1
case 值3,值4,...:
语句块2
....
default:
语句块
}
- case 后面的值不能重复,且必须与switch后面表达式的值类型一致。
- case后面不需要带break。
- default作为兜底,不是必须的。当上面的case值都不匹配,则执行default下面的语句块,default写在什么位置都可以,不一定需要写在最下面。
- 利用
fallthrough关键字可以穿透case下面的判断,执行下面的语句 - case后面可以带多个值,使用逗号间隔。比如 case 值1,值2…
package main
import "fmt"
func main() {
var n1 int = 120
switch n1 {
case 90, 100: //当n1等于90或者100执行下面的打印
fmt.Printf("n1的值为90或100\n")
case 110: //当n1等于110执行下面的打印
fmt.Printf("n1的值为110\n")
case 120: //当n1等于120执行下面的打印
fmt.Printf("n1的值为120\n")
fallthrough //继续执行下一个case,也叫switch穿透。
case 130:
fmt.Printf("n1的值为130\n")
default: //上面的case都不匹配,则执行这段打印
fmt.Printf("n3的值不在90,100,110,120,130之中\n")
}
}
执行结果
n1的值为120
n1的值为130
golang流程控制if,switch分支的更多相关文章
- php总结2——php中的变量、数据类型及转换、运算符、流程控制中的分支结构
2.1 php中的变量: 定义变量:$变量名称=值: 变量名称:$开头 $之后的第一位必须是字母 $第二位之后可以是字母.数字或者是下划线.习惯上变量名称有实际含义,第二个单词后首字母大 ...
- Golang - 流程控制
目录 Golang - 流程控制 1. 选择结构 2. 循环结构 3. 跳转语句 Golang - 流程控制 1. 选择结构 if else语句: //package 声明开头表示代码所属包 pack ...
- 运算符的应用及流程控制if,switch语句
运算符的应用 1:赋值运算符 简单赋值运算符 例如var useName='tom';//简单赋值运算符 复合赋值运算符 a+=b;//相当于a=a+b; ...
- Java流程控制,for,switch,while.break,continue,return
Java流程控制,for,switch,while.break,continue,return
- day04流程控制,if分支结构,while,for循环
复习 ''' 1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 -- 3.不能与系统关键字重名 -- 4._开头有特殊含义 -- 5.__开头__结尾的变量,魔法 ...
- JavaScrip流程控制之switch选择,for循环
swith根据表达式的值来case ,break执行跳转语句 <!DOCTYPE html> <html lang="en"> <head> & ...
- Java流程控制04——Switch选择结构
switch 多选择结构 switch case 语句判断一个变量与一系列值中某个值是否相等,每个支撑位一个分支. switch语句中的变量类型可以是: byte short int 或者 char ...
- Go Walk教程 - 流程控制( switch)
Go的 switch 非常灵活,表达式不必是常量或整数,执行的过程从上至下,直到找到匹配项,不要break: var score =98 var result string switch score/ ...
- 流程控制------if else分支语句
一.If`······else语句:如果条件成立,就执行在语句体... 语法:if 条件: 语句体1 语句体2 语句体3 ··········· 例如: 1. if True: ...
- PHP入门之流程控制
前言 上一篇文章对PHP的一些类型和运算符进行了简单的讲解.PHP入门之类型与运算符 这篇简单讲解一下流程控制.结尾有实例,实例内容是用switch分支和for循环分别做一个计算器和金字塔. 分支控制 ...
随机推荐
- [数据结构]KMP算法(含next数组详解)
字符串匹配问题 给定一个字符串 s 和一个要匹配的模式串 p.模式串 p 有可能在 s 中多次出现,请求出模式串 p 在 s 中所有出现的起始位置. 暴力匹配算法 BF 算法思路 在面对字符串匹配问题 ...
- CSS文字超出宽度---换行总结
2021-5-5重新总结---CSS文字超出宽度---附代码 <!DOCTYPE html> <html lang="en"> <head> ...
- 静态static关键字概述-静态static关键字修饰成员变量
静态static关键字概述 概述 关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属 于某个对象的.也就是说,既然属于类,就可以不靠创建对象来 ...
- Altium Designer v23.0.1.38图文详解
Altium Designer (AD) 最新安装河蟹教程 ,ltium designer 显著地提高了用户体验和效率,利用时尚界面使设计流程流线化,同时实现了前所未有的性能优化.使用64位体系结 ...
- Windows IIS下运行.NET Core程序
IIS下运行.NET Core程序 1.服务器上必须要安装 WindowsHosting WindowsHosting 下载地址:https://dotnet.microsoft.com/downlo ...
- ‘mongo‘不是内部或外部命令,也不是可运行的程序或批处理文件
出现问题原因: MongoDB环境变量未配置 解决办法: 1)右击我的电脑-->属性,进入系统属性界面,点击如下图所示位置的[高级系统设置],在弹窗的[系统属性]的[高级]选项卡右下角点击[环境 ...
- Vue搭建项目的完整流程 如何搭建一个完整的vue项目 vue项目架构
vue项目架构 技术栈:vue3.vue-router .vuex(和pinia).element plus .axios.ts.sass 1.安装vue3 脚手架+ ts vue create ad ...
- JavaScript数组的方法大全(最新)
JavaScript数组方法大全 趁着有时间,总结了下数组所有的属性和方法,记录博客,便于后续使用 array.at() at方法,用于获取数组中,对应索引位置的值,不能修改. 语法:array.at ...
- Solon v2.1.4 发布。支持 java、kotlin、groovy!
本次发布,重点测试和验证了在 java.kotlin.groovy 三种 jvm 语言里,开箱即用的特性.并发布 Solon Initializr: https://solon.noear.org/s ...
- C端自动化实现:appium+winappdriver+python
一. 前言 有小伙伴有办公自动化的需求,特此出一篇C端自动化教程,并附带demo案例.C端的自动化比B端多一个appium,其他的操作大同小异. 二. 环境 appium:exe工具,用于启动服务,官 ...