我阅读了以下关于https://github.com/github/swift-style-guide/blob/master/README.md的建议
但这部分我不明白。接收类型是什么?接收器是什么?谢谢。
尽可能省略类型参数 参数化类型的方法可以在接收类型与接收方的参数相同时省略它们的类型参数。例如: 结构复合{…函数组成(其他:复合) ->复合{返回复合(自,其他)}} 可改为: 结构复合{…函数组成(其他:复合) ->复合{返回复合(自,其他)}}
发布于 2017-03-25 20:36:30
“类型参数”是指通用结构的具体类型。例如,您可以有一个类型为Composite<Int>的结构Composite<Int>。类型参数是Int。像T这样的类型参数是一个泛型类型参数,它可以代表任何类型的具体类型,除非受到限制。
样式指南使用的事实是,Swift编译器非常擅长推断类型参数,因此您可以只编写没有类型参数的Composite。如果在本例中,Composite的初始化程序指定这两个参数必须具有相同的类型,则可以这样做。因为Swift知道self的类型是Composite<T>,那么它知道other也必须是Composite<T>类型,而且由于Composite.init(::)返回相同类型的结构,所以返回类型是Composite<T>。当然,这都取决于初始化器。
就个人而言,我不同意这一点的风格指南。总是最好是明确的,尖括号不占那么大的空间。
https://stackoverflow.com/questions/43021380
复制相似问题