当前位置: 首页 > news >正文

GO语言语法---if语句

文章目录

  • 1. 基本语法
    • 1.1 单分支
    • 1.2 双分支
    • 1.3 多分支
  • 2. Go特有的if语句特性
    • 2.1 条件前可以包含初始化语句
    • 2.2 条件表达式不需要括号
    • 2.3 必须使用大括号
    • 2.4 判断语句所在行数控制

Go语言的if语句用于条件判断,与其他C风格语言类似,但有一些独特的语法特点。

1. 基本语法

if condition {// 条件为true时执行的代码
}

1.1 单分支

以下代码表示只有一个判断,如果x > 5则执行大括号中的内容。否则持续继续往后执行。

// 单分支if x > 5 {fmt.Println("x大于5")}

1.2 双分支

以下代码也只有一个判断,如果x > 5则执行第一个大括号中的内容。否则持续else后面的大括号中的内容。

    // 双分支if x > 15 {fmt.Println("x大于15")} else {fmt.Println("x不大于15")}

1.3 多分支

以下代码有多个判断,如果x < 5则执行第一个大括号中的内容。执行完第一个括号中的内容则跳出if语句,不再进行后续的判断。如果不满足第一个判断x < 5,则进入第二次判断,第二次判断满足则执行第二次大括号中的内容,执行完跳出if语句。以此类推,如果所有条件都不满足,则执行else后大括号的内容。
注意:这里的else可以不写(效果等同于else中的语句为空),不写则当所有条件都不符合时,不执行任何内容。

    // 多分支if x < 5 {fmt.Println("x小于5")} else if x < 15 {fmt.Println("x在5到15之间")} else {fmt.Println("x大于等于15")}

2. Go特有的if语句特性

2.1 条件前可以包含初始化语句

// 用分号分隔
if y := 11; y > 10 {fmt.Println("y大于10:", y)
}

2.2 条件表达式不需要括号

条件表达式的括号可加可不加,但是这里推荐不加,因为go的源码也是没有加括号的。写法和作者保持一致。

if x > 5 {  // 正确
// if (x > 5) {  // 也可以,但不推荐

2.3 必须使用大括号

在c语言之类的语言中,如果if之后的语句只有一句是可以不使用大括号的,但是GO语言强制使用括号。其实这也很好的规范了开发者的代码风格,在很多公司中if后面不加大括号是无法通过Review。

if x > 5 fmt.Println("x大于5")  // 错误:缺少大括号

2.4 判断语句所在行数控制

	// 错误语法示例if x < 5 {fmt.Println("x小于5")} else if x < 15 {fmt.Println("x在5到15之间")} else {}// 正确语法示例if x < 5 {fmt.Println("x小于5")} else if x < 15 {fmt.Println("x在5到15之间")} else {}

相关文章:

  • flutter flutter run 运行项目卡在Running Gradle task ‘assembleDebug‘...
  • Python文件与JSON操作全解:从基础到企业级实践
  • 05、基础入门-SpringBoot-HelloWorld
  • 政府数据开放试点企业如何抢占特许经营协议黄金席位
  • acwing5579 增加模数
  • 蓝桥杯11届国B 答疑
  • NY321NY322美光闪存芯片NY323NY336
  • 冒泡排序-java
  • ECMAScript 2018(ES2018):异步编程与正则表达式的深度进化
  • Windows本地化部署Dify完整指南
  • 程序开多少线程合适?
  • Vue3学习(组合式API——ref模版引用与defineExpose编译宏函数)
  • Stacking超参数调优:网格搜索与随机搜索的实战指南
  • 【软考中级软件设计师】进程管理
  • 如何深入学习MATLAB的高级应用?
  • StreamCap v0.0.1 直播录制工具 支持批量录制和直播监控
  • 注册表设置windows背景护眼色
  • 【React Fiber 架构详解】
  • FreeRTOS的学习记录(任务创建,任务挂起)
  • 计算机操作系统概要
  • 美国失去最后一个AAA评级,资产价格怎么走?美股或将触及天花板
  • 法律顾问被控配合他人诈骗酒店资产一审判8年,二审辩称无罪
  • 又一例!易方达基金张坤卸任副总职务,将专注于投资管理工作
  • 李伟任山东省委常委、省纪委书记
  • 土耳其、美国、乌克兰三边会议开始
  • 新版城市规划体检评估解读:把城市安全韧性摆在更加突出位置