Go bool

JunChow520 · · 907 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

  • 布尔值是以数学家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

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

907 次点击  
加入收藏 微博
上一篇:Go fmt
下一篇:Go context
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传