首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >参数化类型的方法可以省略类型参数。

参数化类型的方法可以省略类型参数。
EN

Stack Overflow用户
提问于 2017-03-25 20:07:47
回答 1查看 90关注 0票数 1

我阅读了以下关于https://github.com/github/swift-style-guide/blob/master/README.md的建议

但这部分我不明白。接收类型是什么?接收器是什么?谢谢。

尽可能省略类型参数 参数化类型的方法可以在接收类型与接收方的参数相同时省略它们的类型参数。例如: 结构复合{…函数组成(其他:复合) ->复合{返回复合(自,其他)}} 可改为: 结构复合{…函数组成(其他:复合) ->复合{返回复合(自,其他)}}

EN

回答 1

Stack Overflow用户

发布于 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>。当然,这都取决于初始化器。

就个人而言,我不同意这一点的风格指南。总是最好是明确的,尖括号不占那么大的空间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43021380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档