golang switch语句的灵活写法介绍

作者:冷月醉雪 时间:2024-04-23 09:39:49 

switch是很容易理解的,先来个代码,运行起来

看看你的操作系统是什么吧


package main
import (
   "fmt"
   "runtime"
)

func main() {
   fmt.Print("Go runs on ")
   switch os := runtime.GOOS; os {
   case "darwin":
       fmt.Println("OS X.")
   case "linux":
       fmt.Println("Linux.")
   default:
       fmt.Printf("%s", os)
   }
}

runtine运行时获取当前的操作系统,使用GOOS。还和if for之类的习惯一样,可以在前面声明赋值变量。我们就在这里来获取操作系统的信息了。


os := runtime.GOOS;

{}里的case比较容易理解。操作系统是 "darwin" 就打印"OS X.";操作系统是 "linux" 就打印"Linux";其他的都直接打印系统类别。

在go语言的switch中除非以fallthrough语句结束,否则分支会自动终止。

所以修改一下上面的代码,再运行一下:


package main
import (
   "fmt"
   "runtime"
)

func main() {
   fmt.Print("Go runs on ")
   switch os := runtime.GOOS; os {
   case "darwin":
       fmt.Println("OS X.")
   case "linux":
       fmt.Println("Linux.")
   case "windows":
       fmt.Println("win")
       fallthrough
   default:
       fmt.Printf("%s", os)
   }
}

增加了当前的系统的case选项"windows",还在这个分支使用了fallghrough。

如果你再注释掉 fallthrough,或干脆删除 fallthrough,再运行,就会发现,那个穿透的效果没有了。

来源:https://blog.csdn.net/lengyuezuixue/article/details/79351269

标签:golang,switch
0
投稿

猜你喜欢

  • Python操作MySQL模拟银行转账

    2022-05-19 21:23:11
  • JavaScript match() 方法

    2007-11-04 13:28:00
  • Python的numpy库中将矩阵转换为列表等函数的方法

    2021-06-19 12:18:21
  • MySQL ALTER命令使用详解

    2024-01-18 09:40:23
  • 提供效率的几个ASP编程技巧

    2010-05-03 11:11:00
  • 利用laravel+ajax实现文件上传功能方法示例

    2024-05-03 15:28:02
  • MySQL修改默认字符集

    2010-11-02 12:11:00
  • Python3实现对列表按元组指定列进行排序的方法分析

    2022-10-05 18:01:13
  • 判断 iframe 是否加载完成的完美方法

    2009-09-24 13:35:00
  • 条件注释使用指南[译]

    2009-03-23 17:41:00
  • 解决py2exe打包后,总是多显示一个DOS黑色窗口的问题

    2022-05-22 21:51:51
  • layerUI下的绑定事件实例代码

    2024-04-16 09:38:08
  • python进程管理工具supervisor的安装与使用教程

    2023-10-15 20:41:57
  • 细化解析:怎样把你的MySQL完全中文化

    2008-12-19 17:48:00
  • vue后台管理添加多语言功能的实现示例

    2024-04-29 13:08:22
  • Pycharm Git 设置方法

    2023-07-13 17:02:55
  • 一小时学会TensorFlow2之Fashion Mnist

    2023-01-27 12:08:16
  • Vue路由的懒加载深入详解

    2024-05-28 16:03:58
  • 利用Matlab绘制各类特殊图形的实例代码

    2021-01-05 21:10:31
  • 深入浅析Django MTV模式

    2021-08-18 07:55:32
  • asp之家 网络编程 m.aspxhome.com