GO语言基础教程5——流程控制-条件判断

简介: 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。本节课带来了就是流程控制中的条件判断——if语句/if else语句。

GO语言基础教程5——流程控制-条件判断


GO语言基础教程5——流程控制-条件判断


流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。


本节课带来了就是流程控制中的条件判断——if语句/if else语句。


if条件判断基本写法


单语句判断

if 表达式 {
    语句
}

例如:

if a==1 {
    fmt.println("a等于1")
}

双语句判断

if 表达式1 {
    语句1
}else{
    语句2
}

例如:

if a==1 {
    fmt.println("a等于1")
}else{
    fmt.println("a不等于1")
}
//如果a=1则执行语句1,否则执行语句2.

多语句判断

if 表达式1 {
    语句1
} else if 表达式2 {
    语句2
} else{
    语句3
}

例如:

if a==1 {
    fmt.println("a等于1")
}else if a == 2{
    fmt.println("a等于2")
} else {
    fmt.println("a既不等于1也不等于2")
}
//如果a=1则执行语句1,如果a=2则执行语句2,否则执行语句3.


if条件判断特殊写法


if条件判断还有一种特殊的写法,可以在 if 表达式之前添加一个执行语句,再根据变量值进行判断,举个例子:

func ifLesson() {
  if a := 1; a==1 {
    fmt.Println("a等于1")
  } else if a==2 {
    fmt.Println("a等于2")
  } else {
    fmt.Println("a既不等于1也不等于2")
  }
}

思考: 上下两种写法的区别在哪里?


这其实是关于变量作用域的问题,感兴趣的小伙伴可以访问,GO语言奇怪的if语句


课后练习


1、编写一个程序来测是成绩好坏,若成绩在90以上为优,在75以上为良,在60以上为及格,低于60为不及格,需注意成绩的取值范围为0~100,如果超出范围则提示成绩有误。

相关文章
|
4天前
|
Go API 数据库
Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
本文介绍了 Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
18 4
|
4天前
|
缓存 监控 前端开发
在 Go 语言中实现 WebSocket 实时通信的应用,包括 WebSocket 的简介、Go 语言的优势、基本实现步骤、应用案例、注意事项及性能优化策略,旨在帮助开发者构建高效稳定的实时通信系统
本文深入探讨了在 Go 语言中实现 WebSocket 实时通信的应用,包括 WebSocket 的简介、Go 语言的优势、基本实现步骤、应用案例、注意事项及性能优化策略,旨在帮助开发者构建高效稳定的实时通信系统。
28 1
|
7天前
|
Go
go语言中的continue 语句
go语言中的continue 语句
17 3
|
2天前
|
存储 Go PHP
Go语言中的加解密利器:go-crypto库全解析
在软件开发中,数据安全和隐私保护至关重要。`go-crypto` 是一个专为 Golang 设计的加密解密工具库,支持 AES 和 RSA 等加密算法,帮助开发者轻松实现数据的加密和解密,保障数据传输和存储的安全性。本文将详细介绍 `go-crypto` 的安装、特性及应用实例。
11 0
|
6月前
|
开发框架 安全 中间件
Go语言开发小技巧&易错点100例(十二)
Go语言开发小技巧&易错点100例(十二)
76 1
|
22天前
|
Go 数据安全/隐私保护 开发者
Go语言开发
【10月更文挑战第26天】Go语言开发
33 3
|
23天前
|
Java 程序员 Go
Go语言的开发
【10月更文挑战第25天】Go语言的开发
29 3
|
3月前
|
JSON 中间件 Go
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
本文详细介绍了如何在Go项目中集成并配置Zap日志库。首先通过`go get -u go.uber.org/zap`命令安装Zap,接着展示了`Logger`与`Sugared Logger`两种日志记录器的基本用法。随后深入探讨了Zap的高级配置,包括如何将日志输出至文件、调整时间格式、记录调用者信息以及日志分割等。最后,文章演示了如何在gin框架中集成Zap,通过自定义中间件实现了日志记录和异常恢复功能。通过这些步骤,读者可以掌握Zap在实际项目中的应用与定制方法
135 1
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
|
3月前
|
算法 NoSQL 中间件
go语言后端开发学习(六) ——基于雪花算法生成用户ID
本文介绍了分布式ID生成中的Snowflake(雪花)算法。为解决用户ID安全性与唯一性问题,Snowflake算法生成的ID具备全局唯一性、递增性、高可用性和高性能性等特点。64位ID由符号位(固定为0)、41位时间戳、10位标识位(含数据中心与机器ID)及12位序列号组成。面对ID重复风险,可通过预分配、动态或统一分配标识位解决。Go语言实现示例展示了如何使用第三方包`sonyflake`生成ID,确保不同节点产生的ID始终唯一。
102 0
go语言后端开发学习(六) ——基于雪花算法生成用户ID
|
3月前
|
JSON 缓存 监控
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境
Viper 是一个强大的 Go 语言配置管理库,适用于各类应用,包括 Twelve-Factor Apps。相比仅支持 `.ini` 格式的 `go-ini`,Viper 支持更多配置格式如 JSON、TOML、YAML
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境

相关实验场景

更多