美文网首页swift
Swift中Self和self的区别

Swift中Self和self的区别

作者: Sultan | 来源:发表于2019-08-21 10:29 被阅读0次

当编写protocol和针对protocol进行扩展时,Self(大写S)和self(小写S)之间存在差异。当与大写S一起使用时,Self指的是符合协议的类型,例如String或Int。当与小写S一起使用时,self指的是该类型内的值,例如“hello”或556。

例如,请考虑以下扩展BinaryInteger:

extension BinaryInteger {
    func squared() -> Self {
        return self * self
    }

记住,Self大写字母S指的是符合协议的任何类型。在上面的例子中,Int符合BinaryInteger,所以在调用Int方法时返回一个Int。

在另一方面,self用小写小号是指任何值的类型成立。如果在Int存储值5时调用上面的示例,则实际上是这样5 * 5。

注意:“Self”仅在协议中可用,或者作为类中方法的结果

相关文章

网友评论

    本文标题:Swift中Self和self的区别

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