Go 语言条件语句
条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。
下图展示了程序语言中条件语句的结构:
Go 语言提供了以下几种条件判断语句:
语句描述
if 语句if 语句 由一个布尔表达式后紧跟一个或多个语句组成。
if…else 语句if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。
if 嵌套语句你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。
switch 语句switch 语句用于基于不同条件执行不同动作。
select 语句select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。
注意:Go 没有三目运算符,所以不支持 ?: 形式的条件判断。
Author: Horysk | Hory-AI
Copyright Notice: All articles on this blog are licensed under hory-ai.com horysk.com unless otherwise stated.
Related Articles
2024-12-07
GoAI编程助手
Go AI 编程助手 这两年 AI 发展迅猛,作为开发人员,我们总是追求更快、更高效的工作方式,AI 的出现可以说改变了很多人的编程方式。 AI 对我们来说就是一个可靠的编程助手,给我们提供了实时的建议和解决方,无论是快速修复错误、提升代码质量,或者查找关键文档和资源,AI 作为编程助手都能让你事半功倍。 今天为大家推荐一款 VSCode 的插件 Fitten Code,Fitten Code 是由非十大模型驱动的 AI 编程助手,它可以自动生成代码,提升开发效率,帮您调试 Bug,节省您的时间,另外还可以对话聊天,解决您编程碰到的问题。 Fitten Code 免费且支持 80 多种语言:Python、C++、Javascript、Typescript、Java等。 安装 智能补全 AI问答 生成代码 代码翻译 生成注释 解释代码 生成测试 检查 BUG 编辑代码 优化代码 12.整项目分析 13.整项目感知分补全 14.复刻网页 常见问题 1、安装 如果您已经安装 VSCode 且版本大于等于...
2024-12-07
Go语言切片(Slice)
Go 语言切片(Slice)Go 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片(“动态数组”),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 定义切片你可以声明一个未指定大小的数组来定义切片:var identifier []type 切片不需要说明长度。或使用 make() 函数来创建切片:var slice1 []type = make([]type, len) 也可以简写为 slice1 := make([]type, len) 也可以指定容量,其中 capacity 为可选参数。make([]T, length, capacity) 这里 len 是数组的长度并且也是切片的初始长度。切片初始化s :=[] int {1,2,3 } 直接初始化切片,[] 表示是切片类型,{1,2,3} 初始化值依次是 1,2,3,其 cap=len=3。s := arr[:] 初始化切片 s,是数组 arr...
2024-12-07
Go语言函数
Go 语言函数函数是基本的代码块,用于执行一个任务。Go 语言最少有个 main() 函数。你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。函数声明告诉了编译器函数的名称,返回类型,和参数。Go 语言标准库提供了多种可动用的内置的函数。例如,len() 函数可以接受不同类型参数并返回该类型的长度。如果我们传入的是字符串则返回字符串的长度,如果传入的是数组,则返回数组中包含的元素个数。 函数定义Go 语言函数定义格式如下:func function_name( [parameter list] ) [return_types] { 函数体} 函数定义解析: func:函数由 func 开始声明function_name:函数名称,参数列表和返回值类型构成了函数签名。parameter list:参数列表,参数就像一个占位符,当函数被调用时,你可以将值传递给参数,这个值被称为实际参数。参数列表指定的是参数类型、顺序、及参数个数。参数是可选的,也就是说函数也可以不包含参数。return_types:返回类型,函数返回一列值。return_types...
2024-12-07
Go语言Map(集合)
Go 语言Map(集合) Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。 Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,遍历 Map 时返回的键值对的顺序是不确定的。 在获取 Map 的值时,如果键不存在,返回该类型的零值,例如 int 类型的零值是 0,string 类型的零值是 “”。Map 是引用类型,如果将一个 Map 传递给一个函数或赋值给另一个变量,它们都指向同一个底层数据结构,因此对 Map 的修改会影响到所有引用它的变量。定义 Map可以使用内建函数 make 或使用 map 关键字来定义 Map:/* 使用 make 函数 */map_variable := make(map[KeyType]ValueType, initialCapacity) 其中 KeyType 是键的类型,ValueType 是值的类型,initialCapacity 是可选的参数,用于指定 Map 的初始容量。Map 的容量是指 Map...
2024-12-07
Go并发
Go 并发并发是指程序同时执行多个任务的能力。Go 语言支持并发,通过 goroutines 和 channels 提供了一种简洁且高效的方式来实现并发。Goroutines:Go 中的并发执行单位,类似于轻量级的线程。Goroutine 的调度由 Go 运行时管理,用户无需手动分配线程。使用 go 关键字启动 Goroutine。Goroutine 是非阻塞的,可以高效地运行成千上万个 Goroutine。Channel:Go 中用于在 Goroutine 之间通信的机制。支持同步和数据共享,避免了显式的锁机制。使用 chan 关键字创建,通过 <- 操作符发送和接收数据。Scheduler(调度器): Go 的调度器基于 GMP 模型,调度器会将 Goroutine 分配到系统线程中执行,并通过 M 和 P 的配合高效管理并发。G:Goroutine。M:系统线程(Machine)。P:逻辑处理器(Processor)。Goroutinegoroutine 是轻量级线程,goroutine 的调度是由 Golang 运行时进行管理的。goroutine 语法格式:go...
2024-12-07
Go语言常量
Go 语言常量 常量是一个简单值的标识符,在程序运行时,不会被修改的量。常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。常量的定义格式:const identifier [type] = value你可以省略类型说明符 [type],因为编译器可以根据变量的值来推断其类型。 显式类型定义: const b string = “abc”隐式类型定义: const b = “abc” 多个相同类型的声明可以简写为:const c_name1, c_name2 = value1, value2以下实例演示了常量的应用: 实例package main import “fmt” func main() { const LENGTH int = 10 const WIDTH int = 5 var area int const a, b, c = 1, false, “str” //多重赋值 area = LENGTH * WIDTH ...
Horysk | Hory-AI
量子幻海 🛸 量子幻海智能体, 浩瀚数据引擎, 问界AI定制, 智创未来系统开发, AI模型训练, 工业AI仿真, 企业级AI部署, 智能决策中台, 量子算法优化, AI技术服务 ,定制AI解决方案, 量子计算开发, 幻海云服务, 智能生态构建, 企业AI转型, 未来产业赋能 🪐 游戏 | 虚幻竞技 | 量子技术 | 3D打印 | AI |AGI AR VR MR XR | 机器人 | 黑客 | 虚拟现实 | 元宇宙; horysk.com 技术支持 hory-ai
Follow MeAnnouncement
量子幻海论坛!