golang switch 之坑

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

内容简介:昨天在星球星主分享了一个题目,是关于一行结束不加分号直接换行,编译期会直接加分号的题目,随后又分享了一道题,如下其实乍一看,是false,但是不妨你写成如下看看完全不同的两种结果

昨天在星球星主分享了一个题目,是关于一行结束不加分号直接换行,编译期会直接加分号的题目,随后又分享了一道题,如下

import "fmt"

func False() bool {
    return false
}

func main() {

    switch False()
 {
    case true:
        fmt.Println("true")
    case false:
        fmt.Println("false")
    }
}

其实乍一看,是false,但是不妨你写成如下看看

func main() {
    switch False(){
    case true:
        fmt.Println("true")
    case false:
        fmt.Println("false")
    }
}

完全不同的两种结果

对于第一种结果是因为编译期对switch哪一行自动加了分号,这时候switch没有了条件,case会跟true做比较,满足条件的会输出,因此就看到了为什么输出是true


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

计算理论导引

计算理论导引

[美]Michael Sipser / 张立昂、王捍贫、黄雄 / 机械工业出版社 / 2000-2 / 30.00元

本书由计算理论领域的知名权威Michael Sipser撰写。他以独特的视角,综合地描述了计算机科学理论,并以清新的笔触、生动的语言给出了宽泛的数学理论,而并非拘泥于某些低层次的技术细节。在证明之前,均有“证明思路”,帮助读者理解数学形式下蕴涵的概念。同样,对于算法描述,均以直观的文字,而非伪代码给出,从而将注意力集中于算法本身,而不是某些模型。本书的内容包括三个部分:自动机与语言、可计算性理论和一起来看看 《计算理论导引》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试