在Go语言中,条件语句主要包括有ifswitchselect

注意: Go语言中没有三目运算符,不支持 ?: 形式的条件判断。

if 语句

最简单的if语句

最简单的 if 语句的基本语法:

if 条件判断 {// 在当前条件判断为true时执行
}

条件判断如果为真(true),那么就执行大括号中的语句;如果为假(false),就不执行大括号中的语句,继续执行if结构后面的代码。

**值得注意的是:**Go语言规定与 if 匹配的左括号 { 必须与 if和条件判断 放在同一行。

示例

package mainimport "fmt"func main() {var year int = 2020if year > 1996 {// 如果条件为 true,则执行以下语句fmt.Printf("%d大于1996\n", year)}fmt.Println("year的值为: ", year)
}

执行结果为:

2020大于1996
year的值为:  2020

if…else语句

if...else 语句的基本语法:

if 条件判断 {// 在当前条件判断为true时执行
} else {// 在当前条件判断为false时执行
}

条件判断如果为真(true),那么就执行其后紧跟的语句块;如果为假(false),则执行 else 后面的语句块。

值得注意的是:else 必须与上一个 if 右边的大括号在同一行;与 else 匹配的左括号 { 也必须与 else 卸载同一行。

示例

package mainimport "fmt"func main(){year := 2020if year > 1996 {// 如果条件为 true,则执行以下语句fmt.Printf("%d大于1996\n", year)} else {// 如果条件为 false,则执行以下语句fmt.Printf("%d小于1996\n", year)}fmt.Println("year的值为: ", year)
}

执行结果为:

2020大于1996
year的值为:  2020

if…else if …else语句

if...else if ...else 语句的基本语法:

if 条件判断1 {// 如果条件判断1为 true,则执行这里的语句
} else if 条件判断2 {// 如果条件判断2为 true,则执行这里的语句
} else {// 如果以上条件判断都为 false,则执行这里的语句
}

同样的:else if 必须与上一个 if 或者 else if 右边的大括号在同一行。

示例

package mainimport "fmt"func main(){year := 2020if year > 2050 {fmt.Printf("%d大于2050\n", year)} else if year > 2000 {fmt.Printf("%d大于2000\n", year)} else {fmt.Println("year的值为: ", year)}
}

执行结果为:

2020大于2000

if嵌套语句

可以在以上语句中嵌套多个同样的语句,均是合法的。

if语句 中嵌套 if语句 的基本语法如下:

if 条件判断1 {// 在条件判断1为 true 时,执行这里的语句if 条件判断2 {// 在条件判断2为 true 时,执行这里的语句}
}

示例

package mainimport "fmt"func main(){year := 2020if year > 2000 {if year > 2010 {fmt.Println("year 大于2010.")}}
}

执行结果为:

year 大于2010.

switch语句

switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。

注意:虽然说 case 表达式不能重复,但是如果 case 为布尔值,则可以重复。

package mainimport "fmt"func main() {a := falseswitch false {case a:fmt.Println("123")case a:fmt.Println("456")}
}

执行结果:

123

下面来看一下一般的例子:

package mainimport "fmt"func main(){date := 3switch date {case 1:fmt.Println("周一")case 2:fmt.Println("周二")case 3:fmt.Println("周三")case 4:fmt.Println("周四")case 5:fmt.Println("周五")case 6:fmt.Println("周六")case 7:fmt.Println("周日")default:fmt.Println("无效的输入")}
}

执行的结果:

周三

Go语言规定每个 switch 只能有一个 default 分支。

一个分支可以有多个值,多个 case 值中间使用英文逗号分隔。

package mainimport "fmt"func main(){num := 5switch num {case 1, 3, 5, 7, 9:fmt.Println("num是奇数")case 2, 4, 6, 8, 10:fmt.Println("num是偶数")default:fmt.Println("num:", num)}
}

执行的结果:

num是奇数

case 分支后面使用的是表达式时,switch 语句后面不需要在跟判断变量。

package mainimport "fmt"func main(){score := 61switch {case score > 80:fmt.Println("考得不错")case score >= 60:fmt.Println("努力学习吧")default:fmt.Println("还不学习?")}
}

执行结果:

努力学习吧

fallthrough会强制执行后面的一条case语句。

package mainimport "fmt"func main(){num := 1switch num {case 1:fmt.Println(1)fallthroughcase 2:fmt.Println(2)case 3:fmt.Println(3)default:fmt.Println("...")}
}

执行结果:

1
2

我们使用 fallthrough 来执行多个 case,也可以使用 break 来终止。

package mainimport "fmt"func main(){num := 1switch num {case 1:fmt.Println(1)if num == 1 {break}fallthroughcase 2:fmt.Println(2)case 3:fmt.Println(3)default:fmt.Println("...")}
}

执行结果:

1

select语句

select 语句在后面会讲解。

李培冠博客

欢迎访问我的个人网站:

李培冠博客:lpgit.com

Golang 条件语句相关推荐

  1. golang语言学习第三课 条件语句

    if 是一个条件语句.if 语句的语法为: if condition { } 与其他语言不同, 其他语言 if后面有()括号,但是go语言是没有的. if 语句后面可以接可选的 else if 和 e ...

  2. Golang if语句

    Golang if语句 if语句主要用做条件判断,比如判断是否成年,成绩是否及格或者优秀等一些场景. if 语句 这里我们使用if语句来判断小明是否已经成年. 1.package main 2.imp ...

  3. golang for语句完全指南

    golang for语句完全指南 Posted on January 13, 2018 以下所有观点都是个人愚见,有不同建议或补充的的欢迎emialaboutme 原文章地址 关于for语句的疑问 f ...

  4. Go 学习笔记(8)— 条件语句(if、if...else...、switch、fallthrough)

    Go 语言提供了以下几种条件判断语句: 语句 描述 if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成 if-else 语句 if 语句 后可以使用可选的 else 语句, else 语 ...

  5. 用python循环语句求素数_Python基础入门_3条件语句和迭代循环

    Python 基础入门前两篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条 ...

  6. python 条件选择语句_Python趣味入门4:选择往往是最重要的-条件语句

    人生处处有选择,程序也有选择,为了让程序变得更加强壮,程序员必须考虑任何情况,上一篇了解到了如何使用Python来行顺序语句的编写,我们写了一个可以输入姓名的生日祝贺程序,今天我们挑战条件语句! 1. ...

  7. day1简述、输入输出、运算符、条件语句、文件读写、三元运算

    文章目录 1.Python 简述 2.变量 3.输入输出 4.数据运算 5. 条件语句 if..else.elif 循环语句 for.while 6.文件读写 7.三元运算 1.Python 简述   ...

  8. R语言If、Else条件语句实战

    R语言If.Else条件语句实战 目录 R语言If.Else条件语句实战 # if()函数和else() 函数 # ifelse函数

  9. 包教包会!7段代码带你玩转Python条件语句(附代码)

    来源:大数据 本文约5200字,建议阅读10分钟. 本文介绍了Python条件语句常用的7段代码. [ 导 读 ]条件语句通过一个或多个布尔表达式的执行结果(真值或假值)决定下一步的执行方向.所谓布尔 ...

最新文章

  1. JavaScript语言基础14
  2. IDEA的使用,手把手带你快速入门IDEA
  3. springcloud之eureka客户端的注册
  4. PDF如何编辑,怎么修改PDF中的文字
  5. 厦门大学计算机学院控制系,厦门大学
  6. 网易VIP等级,QQ会员等级,TOMVIP邮箱多少钱?
  7. rxJava中 Subscriber 与Observer
  8. 如何将电脑下载的电子书导入手机kindle APP
  9. 3d渲染是显示计算机内存不足,win10系统使用3d渲染图片出现内存不足如何解决
  10. uni-app 微信小程序 分享功能 传参 接收 与 调试
  11. 2022.04.11【读书笔记】|单细胞转录组概述
  12. 你们要的Java学习路线图,来喽
  13. Maven 中跳过单元测试方法
  14. js控制浏览器窗口弹出、警告框、确认框
  15. 【AtCoder2442】フェーン現象 (Foehn Phenomena)
  16. 2022-01-24 工作记录--CSS-TweenMax动画效果
  17. 哪些情况会导致支付接口申请不通过
  18. dell服务器boss卡安装系统,Dell BOSS 卡是什么
  19. @SuppressLint(NewApi)
  20. LINUX串口发送数据,包数据被拆分发送

热门文章

  1. form action参数传递的几种方式
  2. 一、在linux下安装jenkins
  3. 软路由的路由功能设置 - 初学者系列 - 学习者系列文章
  4. 基站查询-基站定位资源
  5. Node.js基础入门第二天
  6. 用gsl计算非方阵矩阵除法--解线性方程
  7. java科学计算器报告心得,Java计算器课程设计报告---模拟科学计算器
  8. 【自动控制原理】拉普拉斯变换
  9. c语言volatile 结构体,volatile一般用来修饰结构体中的成员变量吗?
  10. SQLite数据库基本操作