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

Go语言基础--switch

        在Go语言中,switch语句是一种非常强大的控制流结构,它允许一个变量的值与多个case进行比较,并根据匹配的结果执行不同的代码块。与C、C++或Java中的switch不同,Go语言的switch更灵活,支持没有显式条件的switch(此时它类似于多个if-else的集合),以及“fallthrough”机制,允许不显式中断时继续执行下一个case。

switch 表达式 {  
case 值1:  
    // 当表达式的值等于值1时,执行这里的代码  
case 值2:  
    // 当表达式的值等于值2时,执行这里的代码  
...  
default:  
    // 如果没有任何case匹配,执行这里的代码  
}

示例

基本的switch语句

package main  
  
import "fmt"  
  
func main() {  
    i := 2  
    switch i {  
    case 1:  
        fmt.Println("one")  
    case 2:  
        fmt.Println("two")  
    case 3:  
        fmt.Println("three")  
    default:  
        fmt.Println("other")  
    }  
}

输出 two

省略表达式的switch 

package main  
  
import "fmt"  
  
func main() {  
    i := 2  
    switch {  
    case i == 1:  
        fmt.Println("one")  
    case i == 2:  
        fmt.Println("two")  
    default:  
        fmt.Println("other")  
    }  

输出 two

使用fallthrough 

 package main  
  
import "fmt"  
  
func main() {  
    switch {  
    case false:  
        fmt.Println("false case")  
        fallthrough  
    case true:  
        fmt.Println("true case")  
    default:  
        fmt.Println("default case")  
    }  
}

输出  true case

注意事项

  • 如果switch语句中省略了表达式,那么它相当于switch true,此时每个case后面都应该跟一个条件表达式。
  • fallthrough允许case之间的连续执行,但通常要谨慎使用,因为它可能导致意外的行为。
  • switch可以处理任何类型的表达式,包括字符串和自定义类型。
  • Go语言的switch比传统的switch更灵活,因为它不需要break来阻止执行流入下一个case(除非使用了fallthrough)。


http://www.mrgr.cn/news/2415.html

相关文章:

  • 第3章处理机调度与死锁
  • 树莓派开发笔记09-树莓派的UDP通信实验
  • 【人工智能】Transformers之Pipeline(十一):零样本图片分类(zero-shot-image-classification)
  • 内网拓扑可视化及管控技术
  • TypeScript学习笔记1---认识ts与js的异同、ts的所有数据类型详解
  • .Net插件开发开源框架
  • WPF学习(8) --Windows API函数的使用
  • 探索 HarmonyOS 的层叠布局:灵活的 Stack 容器
  • 原神4.8版本抽到角色和重点培养数据表
  • 高性能企业WEB服务器
  • 水利机械5G智能制造工厂物联数字孪生平台,推进制造业数字化转型
  • OpenCV4特征匹配
  • 快速上手 iOS Protocol Buffer
  • Xshell 连接服务器
  • 人工智能将原本需要数月的镜头设计工作缩短为一天
  • JVM(Java虚拟机) - 深入了解Java中的GC命令:如何优化垃圾回收
  • 【安装】通过VirtualBox结合Vagrant来安装虚拟机
  • 【系统架构设计师-2018年】案例分析-答案及详解
  • Linux虚拟机磁盘管理-添加磁盘
  • 软件测试用例的编写(六)