Swift Bool 学习日记


BOOL 是一个包装类 使用结构体实现 内部包含了一个成员变量  internal var _value: Builtin.Int1

public init()  使用一个类型为int8的0._value 赋值给 成员变量 _value

public init(_ value: Bool)  简单的赋值给自己 self = value

public init(booleanLiteral value: Bool)  同上

public var description: String { get }  实现协议 CustomStringConvertible  返回字符串“true”或者“false“

public var hashValue: Int { get } 实现协议 Hashable 返回Int 0 或者 1

public static func ==(lhs: Bool, rhs: Bool) -> Bool  调用内部类的方法cmp_eq_Int1 使用成员变量_value进行比较

public init?(_ description: String) 实现协议 LosslessStringConvertible  入参 只可为字符串“true”或者“false” 并且返回读

音的Bool 返回其他的事some.none 即nil

prefix public static func !(a: Bool) -> Bool  调用内部类的方法xor_Int1  使用a._vaue 和true._value进行异或运算

public static func &&(lhs: Bool, rhs: @autoclosure () throws -> Bool) rethrows -> Bool

lhs为false直接返回false  lhs为true发挥 rhs的返回值

public static func ||(lhs: Bool, rhs: @autoclosure () throws -> Bool) rethrows -> Bool

lhs为true直接返回true  lhs为false发挥 rhs的返回值

@autoclosure的使用简便了使用的书写  并且把运算时间延迟到了方法内

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、随机数 不需要随机数种子 arc4random()%N + begin:产生begin~begin+N的随机数...
    我是小胡胡123阅读 4,406评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,433评论 19 139
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,994评论 0 9
  • 问题 1)柯里化,通过柯里化,改造target-action,因为selector只能使用字符串,在编译时无法发现...
    lanjing阅读 3,717评论 3 19
  • Swift2.0 1.defer译为延缓、推迟之意类似栈 注意作用域,其次是调用顺序——即一个作用域结束(注意),...
    zeqinjie阅读 3,496评论 0 50

友情链接更多精彩内容