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