`

GoLang-4(switch)

    博客分类:
  • GO
 
阅读更多

       多分支语句switch在存在多个条件判断时使用,代码的可读性上要比连续不断的else if语句更好。Go中的switch与java php还是有区别的。java  php使用break语句来中断switch的执行,且都是如下这种方式:

switch (expression)
{
case label1:
  code to be executed if expression = label1;
  break;  
case label2:
  code to be executed if expression = label2;
  break;
default:
  code to be executed
  if expression is different 
  from both label1 and label2;
}

 

     Go中的switch则有如下两种写法:

方式一:switch后不带变量,逻辑在case语句中进行处理,相当于多个纯粹的else if 语句
switch{
 case expression1:
      operation1
 case expression2:
      operation2
 case expression3:
      operation3
default:
    operationdefault
}


方式2:与java和php的处理类似,但是每个case可以包含多个值,这在java和php中是不允许的。
switch var1{
 case label1,label11:
      operation1
 case label2:
      operation2
 case label3:
      operation3
default:
    operationdefault
}

   示例:

方式一:
	c := 6
	switch {
	case c < 7:
		fmt.Println("7")
	case c < 8:
		fmt.Println("8")
	default:
		fmt.Println("default")
	}
方式二:
	day := 4
	switch day {
	case 1, 2, 3:
		fmt.Println("1")

	case 4:
		fmt.Println("4")
	case 5:
		fmt.Println("5")
	}

 

 

分享到:
评论

相关推荐

    开源项目-golang-go.zip

    开源项目-golang-go.zip,proposal: add case-range to the expression switch statement

    Golang中switch语句和select语句的用法教程

    本文主要给大家介绍了关于Golang中switch和select用法的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 一、switch语句 switch语句提供了一个多分支条件执行的方法。每一个case可以携带一个表达式...

    Golang-Resources-List:从初学者到中级水平的许多平台上评分最高的 Golang 课程列表

    创建一个计算器来加、减、乘和除两个数字(使用 Switch 语句) 创建一个小型 HTTP 服务器: 创建一个小型 http 服务器并提供网页 中间的 Web开发 创建网站或您自己的投资组合 创建流应用 先进的 开放资源并参与...

    Golang2-new.docx

    个人学习golang笔记,从各种教程中总结而来,作为入门参考。目录如下 目录 1. 入门 1 1.1. Hello world 1 1.2. 命令行参数 2 2. 程序结构 3 2.1. 类型 4 2.1.1. 命名类型(named type)与未命名类型(unamed ...

    一个简单的cli工具,可从Git-User-Switch启发而轻松切换git用户-Golang开发

    一个简单的cli工具,用于切换受Git-User-Switch gitsu启发的git用户。一个简单的cli工具,用于切换受Git-User-Switch安装启发的git用户。 Homebrew brew install matsuyoshi30 / gitsu / gitsu Go(不推荐)转到...

    go-switch-examples:将 TinyGo 用于 Nintendo Switch 的示例

    Golang Nintendo Switch 示例 将 TinyGo 用于 Nintendo Switch 的示例 要求 DevKitPro for Switch(参见) 支持 Nintendo Switch 的 TinyGo( 在 nintendoswitch 分支上) Linkle(请参阅 ) 构建示例 转到示例...

    golang如何比较浮点数的大小

    Golang浮点数比较和运算会出现误差。 浮点数储存至内存中时,2的-1、-2……-n次方不能精确的表示小数部分,所以再把这个数从地址中取出来进行计算就出现了偏差。 package main import ( errors fmt github....

    go-hsm:实现分层状态机(HSM)的 Golang 库

    与传统的状态机实现方法(例如嵌套 if-else/switch、状态表、OOP 中的状态设计模式)相比,HSM 提供了以下主要优势: 它支持嵌套状态和 hehavior 继承 它为状态提供进入和退出动作 它使用类层次结构来表示状态层次...

    wechat-go:带有golang的微信消息处理程序(不适用于生产)

    switch this . Msg [ "Content" ] { case "text" : this . Reply ( "hello text" ) case "news" : news := []wechat. News {} news = append ( news , wechat. News { Title : "Hello Golang" , Desc : ...

    gocommend:golang推荐系统

    golang推荐系统。 发展... 下面的 CLI 示例代码 package main import ( "fmt" "gocommend" "log" "os" ) func main () { //gocommend.Redistest() argNum := len ( os . Args ) handle := os . Args [ 1 ]...

    v-switch:使用UDP + AES + TAP跨网络的虚拟加密交换机

    V-switch是加密的虚拟交换机。 遵循Tinc(一部分)和SDN(Sowftare定义网络)的概念,它创建了一个虚拟接口,可以与Internet上的其他守护程序进行对等。 所有运行相同守护程序,具有相同加密密钥的机器都将配置一个...

    cjdns-switching:cjdns切换协议的Golang实现

    cjdns-switch cjdns切换协议的Golang实现

    Golang(语言)教程

    switch case 循环 指针 函数 可变函数 方法,结构和接口 Struct 方法 Interface 包 安装包 创建一个自定义包 包文件 Go中的一些内置软件包 错误处理 从函数返回自定义错误 Panic Defer 并发 使用select为Go例程组织...

    bot:用Golang编写的Telegram机器人API库

    用Golang编写的Telegram bot API库 例子 package main import ( "encoding/json" tb "github.com/TelegramApi/bot" ) func main () { bot := tb . Create ( "API_TOKEN" ) bot . Listen () for update := range...

    Nyrna-暂停任何游戏或应用程序。-Golang开发

    该项目的原因是要在PC上具有类似于Nintendo Switch和Sony PlayStation等控制台中非常有用的睡眠/暂停功能的功能。 随时暂停游戏(及其资源使用),并在任何需要的时候恢复播放-只需按一下按钮。 Nyrna Nyrna允许用户...

    type_guard_util

    一些在golang使用type guard utils在golang进行type-switch ,例如golang 。 使用 安装包 npm install type_guard_util 使用 import { TypeIs } from '../src/TypeIs' type Water = { drink: string } type Food = ...

    详解golang开发中select多路选择

    select 是 Golang 中的一个控制结构,语法上类似于switch 语句,只不过select是用于 goroutine 间通信的 ,每个 case 必须是一个通信操作,要么是发送要么是接收,select 会随机执行一个可运行的 case。如果没有 ...

    training:一日学习Golang

    :如何在Go中使用if , switch和const 。 :如何在Go中初始化constructor 。 :为多个结构创建接口。 :如何在Go中使用Goroutine,通过交流共享。 :Go中的错误处理程序。 :类型断言提供对接口值的访问。 :在Go中...

Global site tag (gtag.js) - Google Analytics