Go bool


本文摘自网络,作者,侵删。

  • 布尔值是以数学家George Boole命名
  • 编程中使用布尔值进行比较或控制流程,布尔值表示与数学逻辑分支相关的真值。
  • 计算机中布尔类型值常用于条件判断的逻辑,逻辑值只有两种分别为真和假。

逻辑值

Golang中以bool类型声明布尔型数据,布尔型数据只有truefalse两个常量值。

逻辑值 描述
true
false

  • 布尔类型变量的默认值为false
var flag bool
fmt.Printf("flag = %v, type = %T\n", flag, flag)//flag = false, type = bool
  • 布尔类型会占用1个字节的存储存储空间
var flag bool
fmt.Printf("flag = %v, type = %T, size = %d\n", flag, flag, unsafe.Sizeof(flag)) //flag = false, type = bool, size = 1
  • Golang禁止将整型强制转换为布尔型
  • 布尔型无法参与数值运算,也无法与其他类型进行转换。

逻辑运算

Golang布尔类型适用于逻辑运算,一般用于程序的流程控制和条件判断。

值比较时只有两个相同类型的值才能比较,若不满足则必须将其中一个值转换为另一个值相同的类型后才能进行比较。

布尔值可以和逻辑运算符结合使用,且具有短路行为,若逻辑运算符左边的值已确定整个布尔表达式的值,那么右边的值将不再运算。

逻辑运算符 符号 描述 优先级
AND && 2
OR || 3
NOT ! 1

布尔值不会隐式转换为数值0或1,禁止将整型强制转换为布尔型,因此布尔值无法参与数值运算,也无法与其他类型进行转换。


本文来自:简书

感谢作者:JunChow520

查看原文:Go bool

相关阅读 >>

Golang怎么解析json格式

rtmp协议视频平台easydss开发中如何通过Go语言 Gorm 框架钩子函数精简代码?

Go 语言和 java 比较?

Go语言指向指针的指针

聊聊Gost的deltacompare

Golang数组与切片

Golang并发不是并行

最新字节跳动面试题与岗位层级,绩效考核制度介绍

[Go-linq]-Go的.net linq式查询方法

聊聊dubbo-Go-proxy的replacepathfilter

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...