美文网首页
Swift Bool 学习日记

Swift Bool 学习日记

作者: 小新12138 | 来源:发表于2016-12-24 15:20 被阅读26次


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的使用简便了使用的书写  并且把运算时间延迟到了方法内

相关文章

网友评论

      本文标题:Swift Bool 学习日记

      本文链接:https://www.haomeiwen.com/subject/rrwkhttx.html