BOOL 是一個包裝類 使用結(jié)構(gòu)體實現(xiàn) 內(nèi)部包含了一個成員變量? 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 }? 實現(xiàn)協(xié)議 CustomStringConvertible? 返回字符串“true”或者“false“
public var hashValue: Int { get } 實現(xiàn)協(xié)議 Hashable 返回Int 0 或者 1
public static func ==(lhs: Bool, rhs: Bool) -> Bool? 調(diào)用內(nèi)部類的方法cmp_eq_Int1 使用成員變量_value進行比較
public init?(_ description: String) 實現(xiàn)協(xié)議 LosslessStringConvertible? 入?yún)?只可為字符串“true”或者“false” 并且返回讀
音的Bool 返回其他的事some.none 即nil
prefix public static func !(a: Bool) -> Bool? 調(diào)用內(nèi)部類的方法xor_Int1? 使用a._vaue 和true._value進行異或運算
public static func &&(lhs: Bool, rhs: @autoclosure () throws -> Bool) rethrows -> Bool
lhs為false直接返回false? lhs為true發(fā)揮 rhs的返回值
public static func ||(lhs: Bool, rhs: @autoclosure () throws -> Bool) rethrows -> Bool
lhs為true直接返回true? lhs為false發(fā)揮 rhs的返回值
@autoclosure的使用簡便了使用的書寫? 并且把運算時間延遲到了方法內(nèi)