为了账号安全,请及时绑定邮箱和手机立即绑定

什么时候使用关联类型和通用类型比较合适?

什么时候使用关联类型和通用类型比较合适?

白衣染霜花 2019-12-12 14:10:46
在这个问题中,出现了一个问题,可以通过将使用通用类型参数的尝试更改为关联类型来解决。这提示了一个问题“为什么关联类型在这里更合适?”,这使我想知道更多。引入关联类型的RFC表示:该RFC通过以下方式阐明了特征匹配:将所有特征类型参数视为输入类型,以及提供关联的类型,它们是输出类型。RFC使用图结构作为激励示例,并且在文档中也使用了图结构,但我承认,与类型参数化版本相比,我不完全意识到关联类型版本的好处。最主要的是,该distance方法不需要关心Edge类型。很好,但是似乎根本没有关联类型的原因。我发现关联类型在实践中使用起来非常直观,但是当我决定在自己的API中何时何地使用它们时,我发现自己很挣扎。在编写代码时,何时应在泛型类型参数上选择关联的类型,何时应相反?
查看完整描述

3 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

让我尝试简化一下: trait/struct MyTrait/MyStruct允许恰好一个impl MyTrait forimpl MyStruct。 trait MyTrait<Return>允许多个,impl因为它是通用的。Return可以是任何类型。通用结构是相同的。

查看完整回答
反对 回复 2019-12-13
  • 3 回答
  • 0 关注
  • 303 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信