Swift 协议详解

protocol OutputStreamType       `文本输出流`
{
    mutating func write(_ string: String)
}

protocol Streamable             `可以被输出`
{
    func writeTo<Target : OutputStreamType>(inout _ target: Target)
}

protocol CustomDebugStringConvertible   `调试用自定义字符串`
{
    var debugDescription: String { get }
}

protocol Hashable       `哈希值`
{
    var hashValue: Int { get }
}

protocol StringInterpolationConvertible `可以被\()`
{
    init(stringInterpolation strings: Self...)
    init<T>(stringInterpolationSegment expr: T)
}

protocol UnicodeScalarLiteralConvertible
{
    associatedtype UnicodeScalarLiteralType
    init(unicodeScalarLiteral value: Self.UnicodeScalarLiteralType)
}

protocol Comparable     `可以被比较`
{
    func <(lhs: Self, rhs: Self) -> Bool
    func ==(lhs: Self, rhs: Self) -> Bool
}

enum Process            `进程参数`
{
    static var argc: CInt { get }
    static let arguments: [String]
    static var unsafeArgv: UnsafeMutablePointer<UnsafeMutablePointer<Int8>> { get }
}

protocol CollectionType         `可以被索引`
{
    var count: Self.Index.Distance { get }
    var first: Self.Generator.Element? { get }
    var isEmpty: Bool { get }
    func generate() -> Self.Generator
    @warn_unused_result func prefixThrough(_ position: Self.Index) -> Self.SubSequence
    @warn_unused_result func prefixUpTo(_ end: Self.Index) -> Self.SubSequence
    @warn_unused_result func suffixFrom(_ start: Self.Index) -> Self.SubSequence
    subscript (_ bounds: Range<Self.Index>) -> Self.SubSequence { get }
    subscript (_ position: Self.Index) -> Self.Generator.Element { get }
}

protocol CVarArgType {}     `C 可变参数`


{

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值