golang-101-hacks(19)——switch

栏目: Go · 发布时间: 7年前

内容简介:注:本文是对和其他编程语言(例如C)相比,Go语音的Compared to other programming languages (such as C), Go's switch-case statement doesn't need explicit "break", and not have fall-though characteristic. Take the following code as an example:

注:本文是对 golang-101-hacks 中文翻译。

和其他编程语言(例如C)相比,Go语音的 switch-case 语句不需要显式的添加“break”,也没有 fall-though 。如下面代码所示:

Compared to other programming languages (such as C), Go's switch-case statement doesn't need explicit "break", and not have fall-though characteristic. Take the following code as an example:

package main

import (
    "fmt"
)

func checkSwitch(val int) {
    switch val {
    case 0:
    case 1:
        fmt.Println("The value is: ", val)
    }
}
func main() {
    checkSwitch(0)
    checkSwitch(1)
}

输出结果是

The value is:  1

期望当val为0或1时,执行 fmt.Println("The value is: ", val) ,但实际上,该语句只在val为1时生效。为了得到期望结果,有两种方法:

使用fallthrough:

func checkSwitch(val int) {
    switch val {
    case 0:
        fallthrough
    case 1:
        fmt.Println("The value is: ", val)
    }
}

(2)将0和1放在同一个的case语句下:

func checkSwitch(val int) {
    switch val {
    case 0, 1:
        fmt.Println("The value is: ", val)
    }
}

与if-else相比,switch语句表达判断更清晰和简单:

package main

import (
    "fmt"
)

func checkSwitch(val int) {
    switch {
    case val < 0:
        fmt.Println("The value is less than zero.")
    case val == 0:
        fmt.Println("The value is qual to zero.")
    case val > 0:
        fmt.Println("The value is more than zero.")
    }
}
func main() {
    checkSwitch(-1)
    checkSwitch(0)
    checkSwitch(1)
}

输出结果

The value is less than zero.
The value is qual to zero.
The value is more than zero.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

硅谷创投课

硅谷创投课

[美]加里·维纳查克 / 林怡 / 北京联合出版社 / 2017-6 / 52

☆通用电气前CEO杰克·韦尔奇力荐,影响500强企业CMO的美国互联网意见领袖全新力作! ☆《纽约时报》榜单全新畅销书,把握来自硅谷的互联网风口浪潮! ☆70后创投鬼才,影响美国00后一代商业观的网络红人、科技公司天使投资人面对面解答你创投、管理、运营中的 一切困惑! ☆来自无数实战的真实商业意见!年轻人为什么买你的账?投资人凭什么会把钱交给你?企业家更应该做的事到底是什么?告诉......一起来看看 《硅谷创投课》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具