为什么要在Dict上使用HashDict?

太阳神

长生不老药这里。这个问题又简短又甜蜜!

我正在通过在线编程练习来学习Elixir,并获得关于最近提交的以下建议:

通常,如果可能的话,最好使用Dict.foo而不是HashDict.foo。字典函数可与各种字典配合使用,因此,如果代码发生更改,则更新的位置将更少。

这让我意识到,我不知道何时应该使用HashDict而不是Dict。一个人有什么特殊的美德?

随行者

HashDict的API与Dict的API匹配,因为HashDict实现了Dict.Behaviour。建议使用Dict的API而不是HashDict的API,是因为通常来说,针对接口而不是实现进行编码始终是一个好主意,这里的Dict是接口,而HashDict是该接口的实现。

我也不确定Sasa关于性能的观点,这可能是个问题,但是我几乎100%地确定,总的来说,您应该更关心自己如何使用Dict,而不是如何访问它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Java

为什么要在堆栈上使用Deque?

来自分类Dev

为什么要在pbuilder上使用sbuild?

来自分类Dev

为什么要在memset上使用bzero?

来自分类Dev

什么是gvfs,为什么要在我的系统上使用它?

来自分类Dev

为什么要在void上使用int函数?

来自分类Dev

为什么要在ThreadLocal上使用数据插槽?

来自分类Java

为什么要在Java / Spring上使用Scala / Lift?

来自分类Javascript

为什么要在object.freeze上使用immutablejs?

来自分类Dev

为什么要在 [Align] 对齐上使用 [Expanded] / [Flexible] flex?

来自分类Dev

sudoedit:为什么要在sudo vi上使用它?

来自分类Dev

为什么要在诸如Postgres的RDBMS上使用Parquet

来自分类Dev

为什么要在结构上使用&符号?

来自分类Python

为什么要在easy_install上使用pip?

来自分类Dev

为什么要在多个 if 语句上使用 elif 和 else?

来自分类Python

为什么要在Google App Engine上使用Django?

来自分类Dev

为什么要在冻结的对象上使用Object#clone?

来自分类Dev

为什么我要在StatefulWidget上使用StatelessWidget?

来自分类Dev

为什么要在Keras上使用纯TensorFlow?

来自分类Dev

为什么要在FreeBSD内核上使用Debian 6?

来自分类Dev

为什么我需要在资源上使用.close()

来自分类Dev

为什么要在主线程上订阅?

来自分类Dev

为什么要在小对象上同步?

来自分类Dev

什么时候以及为什么我们需要在bash上使用“ wait”命令?

来自分类Dev

当使用react-table时,为什么要在`ReactTable`上使用`useTable`

来自分类Dev

为什么要在AngularJS中使用$ onInit?

来自分类Dev

为什么要在golang中使用组合?

来自分类Dev

为什么要在 Angular 中使用 ValueAccessor?

来自分类Java

为什么要在Android中使用RequestQueue?

来自分类Dev

为什么要在Dialogflow中使用动作

Related 相关文章

  1. 1

    为什么要在堆栈上使用Deque?

  2. 2

    为什么要在pbuilder上使用sbuild?

  3. 3

    为什么要在memset上使用bzero?

  4. 4

    什么是gvfs,为什么要在我的系统上使用它?

  5. 5

    为什么要在void上使用int函数?

  6. 6

    为什么要在ThreadLocal上使用数据插槽?

  7. 7

    为什么要在Java / Spring上使用Scala / Lift?

  8. 8

    为什么要在object.freeze上使用immutablejs?

  9. 9

    为什么要在 [Align] 对齐上使用 [Expanded] / [Flexible] flex?

  10. 10

    sudoedit:为什么要在sudo vi上使用它?

  11. 11

    为什么要在诸如Postgres的RDBMS上使用Parquet

  12. 12

    为什么要在结构上使用&符号?

  13. 13

    为什么要在easy_install上使用pip?

  14. 14

    为什么要在多个 if 语句上使用 elif 和 else?

  15. 15

    为什么要在Google App Engine上使用Django?

  16. 16

    为什么要在冻结的对象上使用Object#clone?

  17. 17

    为什么我要在StatefulWidget上使用StatelessWidget?

  18. 18

    为什么要在Keras上使用纯TensorFlow?

  19. 19

    为什么要在FreeBSD内核上使用Debian 6?

  20. 20

    为什么我需要在资源上使用.close()

  21. 21

    为什么要在主线程上订阅?

  22. 22

    为什么要在小对象上同步?

  23. 23

    什么时候以及为什么我们需要在bash上使用“ wait”命令?

  24. 24

    当使用react-table时,为什么要在`ReactTable`上使用`useTable`

  25. 25

    为什么要在AngularJS中使用$ onInit?

  26. 26

    为什么要在golang中使用组合?

  27. 27

    为什么要在 Angular 中使用 ValueAccessor?

  28. 28

    为什么要在Android中使用RequestQueue?

  29. 29

    为什么要在Dialogflow中使用动作

热门标签

归档