Go程序设计语言3.4 布尔值

简介:

3.4 布尔值


bool型的值或布尔值(boolean)只有两种可能:真(true)和假(false)。if和for语句里的条件就是布尔值,比较操作符(如==和<)也能得出布尔值结果。一元操作符(!)表示逻辑取反,因此!true就是false,或者可以说(!true==false)==true。比如,考虑到代码风格,布尔表达式x==true相对冗长,我们总是简化为x。

布尔值可以由运算符&&(AND)以及||(OR)组合运算,这可能引起短路行为:如果运算符左边的操作数已经能直接确定总体结果,则右边的操作数不会计算在内,所以下面的表达式是安全的:

 

其中,如果作用于空字符串,s[0]会触发宕机异常。

因为&&较||优先级更高(助记窍门:&&表示逻辑乘法,||表示逻辑加法),所以如下形式的条件无须加圆括号:

 

布尔值无法隐式转换成数值(如0或1),反之也不行。如下状况下就有必要使用显式if:

 

假如转换操作常常用到,就值得专门为此写个函数:

 

反向转换操作过于简单,无须专门撰写函数,但为了与btoi对应,这里还是给出其代码:

 

相关文章
|
存储 Go 开发工具
Go 专栏|基础数据类型:整数、浮点数、复数、布尔值和字符串
Go 专栏的第三篇,本文内容依旧很基础,很简单。如果有编程经验的话,可能扫一眼就了然于胸了。但如果刚开始接触编程,建议还是好好看看,把文中的代码 demo 都自己跑一遍。只有基础打好了,才能向更高的目标迈进。
250 0
Go 专栏|基础数据类型:整数、浮点数、复数、布尔值和字符串
下一篇
无影云桌面