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循环分别做一个计算器和金字塔. 分支控制 ...
随机推荐
- 图文并茂使用VUE+Quasar CLI开发和构建PWA,registerServiceWorker介绍
看文档 文档地址:Preparation for PWA 1.将PWA模式添加到我们的Quasar项目中: npx quasar mode add pwa 我们看一下有哪些变化 向Quasar项目添加 ...
- 读Java8函数式编程笔记02_流
1. 外部迭代 1.1. for循环是一个封装了迭代的语法糖 1.1.1. 本质上来讲是一种串行化操作 1.2. 很难抽象出不同操作 2. 内部迭代 2.1. 内部迭代中的相应接口:Stream 2. ...
- java执行js脚本
@Test public void aa() throws NoSuchMethodException { String regular = "function regular(args1) ...
- python学习第一周总结
第一周内容概要 day01 typora软件安装 markdown语法 typora软件功能介绍 网络博文编写教程 计算机的本质 计算机的五大组成部分 计算机的三大核心硬件 day02 操作系统 编程 ...
- JavaScript: symbol 和 string key 取值用法
'' 做 key 可以被 . 或者 [] 运算符取出 [""] 做 key 同样可以被 . 或者 [] 运算符取出 symbol 做 key 只能被 . 取出 [symbol] 做 ...
- GIT安装及IDEA配置(GIT)
参考:https://blog.csdn.net/qq_40563761/article/details/91347443 1.安装git 2.idea下载GITHUB/GITEE插件 3.idea配 ...
- Portainer功能使用之容器管理
下载镜像 点击左边功能菜单栏[images]下载镜像 容器管理 点击左边功能菜单栏[Containers]创建.启动.重启.停止.监控等功能 创建容器 例如:安装nginx代理服务器,并设置容器信息( ...
- C++练习2 强制类型转换
const可以把有关的数据定义为常量. const类型可以修饰:对象,指针,引用 使用const_cast为强制类型转换,将常量强制转换非常量. 1 #include <iostream> ...
- 深度学习-RNN
目录 I.前言 介绍RNN的概念和应用 II. RNN基础 RNN的概念和结构 RNN的前向传播和反向传播算法 前向传播算法 反向传播 RNN的变种:LSTM和GRU LSTM GRU III. RN ...
- TEMPO研究第一年影像学数据: 骨侵蚀修复几乎只出现在无关节肿胀或肿胀改善组
标签: TEMPO研究; 依那西普; 放射学进展; 类风湿关节炎 TEMPO研究第一年影像学数据: 骨侵蚀修复几乎只出现在无关节肿胀或肿胀改善组 EULAR2007. Abstract No: OP0 ...