内容简介:昨天在星球星主分享了一个题目,是关于一行结束不加分号直接换行,编译期会直接加分号的题目,随后又分享了一道题,如下其实乍一看,是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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。