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分支的更多相关文章

  1. php总结2——php中的变量、数据类型及转换、运算符、流程控制中的分支结构

    2.1  php中的变量: 定义变量:$变量名称=值: 变量名称:$开头    $之后的第一位必须是字母    $第二位之后可以是字母.数字或者是下划线.习惯上变量名称有实际含义,第二个单词后首字母大 ...

  2. Golang - 流程控制

    目录 Golang - 流程控制 1. 选择结构 2. 循环结构 3. 跳转语句 Golang - 流程控制 1. 选择结构 if else语句: //package 声明开头表示代码所属包 pack ...

  3. 运算符的应用及流程控制if,switch语句

    运算符的应用 1:赋值运算符    简单赋值运算符        例如var useName='tom';//简单赋值运算符    复合赋值运算符        a+=b;//相当于a=a+b;   ...

  4. Java流程控制,for,switch,while.break,continue,return

    Java流程控制,for,switch,while.break,continue,return

  5. day04流程控制,if分支结构,while,for循环

    复习 ''' 1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 -- 3.不能与系统关键字重名 -- 4._开头有特殊含义 -- 5.__开头__结尾的变量,魔法 ...

  6. JavaScrip流程控制之switch选择,for循环

    swith根据表达式的值来case ,break执行跳转语句 <!DOCTYPE html> <html lang="en"> <head> & ...

  7. Java流程控制04——Switch选择结构

    switch 多选择结构 switch case 语句判断一个变量与一系列值中某个值是否相等,每个支撑位一个分支. switch语句中的变量类型可以是: byte short int 或者 char ...

  8. Go Walk教程 - 流程控制( switch)

    Go的 switch 非常灵活,表达式不必是常量或整数,执行的过程从上至下,直到找到匹配项,不要break: var score =98 var result string switch score/ ...

  9. 流程控制------if else分支语句

    一.If`······else语句:如果条件成立,就执行在语句体... 语法:if    条件:   语句体1   语句体2   语句体3 ··········· 例如: 1. if True:   ...

  10. PHP入门之流程控制

    前言 上一篇文章对PHP的一些类型和运算符进行了简单的讲解.PHP入门之类型与运算符 这篇简单讲解一下流程控制.结尾有实例,实例内容是用switch分支和for循环分别做一个计算器和金字塔. 分支控制 ...

随机推荐

  1. 图文并茂使用VUE+Quasar CLI开发和构建PWA,registerServiceWorker介绍

    看文档 文档地址:Preparation for PWA 1.将PWA模式添加到我们的Quasar项目中: npx quasar mode add pwa 我们看一下有哪些变化 向Quasar项目添加 ...

  2. 读Java8函数式编程笔记02_流

    1. 外部迭代 1.1. for循环是一个封装了迭代的语法糖 1.1.1. 本质上来讲是一种串行化操作 1.2. 很难抽象出不同操作 2. 内部迭代 2.1. 内部迭代中的相应接口:Stream 2. ...

  3. java执行js脚本

    @Test public void aa() throws NoSuchMethodException { String regular = "function regular(args1) ...

  4. python学习第一周总结

    第一周内容概要 day01 typora软件安装 markdown语法 typora软件功能介绍 网络博文编写教程 计算机的本质 计算机的五大组成部分 计算机的三大核心硬件 day02 操作系统 编程 ...

  5. JavaScript: symbol 和 string key 取值用法

    '' 做 key 可以被 . 或者 [] 运算符取出 [""] 做 key 同样可以被 . 或者 [] 运算符取出 symbol 做 key 只能被 . 取出 [symbol] 做 ...

  6. GIT安装及IDEA配置(GIT)

    参考:https://blog.csdn.net/qq_40563761/article/details/91347443 1.安装git 2.idea下载GITHUB/GITEE插件 3.idea配 ...

  7. Portainer功能使用之容器管理

    下载镜像 点击左边功能菜单栏[images]下载镜像 容器管理 点击左边功能菜单栏[Containers]创建.启动.重启.停止.监控等功能 创建容器 例如:安装nginx代理服务器,并设置容器信息( ...

  8. C++练习2 强制类型转换

    const可以把有关的数据定义为常量. const类型可以修饰:对象,指针,引用 使用const_cast为强制类型转换,将常量强制转换非常量. 1 #include <iostream> ...

  9. 深度学习-RNN

    目录 I.前言 介绍RNN的概念和应用 II. RNN基础 RNN的概念和结构 RNN的前向传播和反向传播算法 前向传播算法 反向传播 RNN的变种:LSTM和GRU LSTM GRU III. RN ...

  10. TEMPO研究第一年影像学数据: 骨侵蚀修复几乎只出现在无关节肿胀或肿胀改善组

    标签: TEMPO研究; 依那西普; 放射学进展; 类风湿关节炎 TEMPO研究第一年影像学数据: 骨侵蚀修复几乎只出现在无关节肿胀或肿胀改善组 EULAR2007. Abstract No: OP0 ...