gpt4 book ai didi

clojure - defmulti vs defprotocol?

转载 作者:行者123 更新时间:2023-12-04 09:55:15 28 4
gpt4 key购买 nike

似乎两者都可以用于定义您以后可以使用不同数据类型实现的函数。 AFAIK 的主要区别在于 defmulti用于 map 和defprotocol在记录上工作。

还有什么区别?使用其中一个有什么好处?

最佳答案

短版:defmulti更加灵活和通用,而 defprotocol表现更好。

稍长的版本:
defprotocol支持类型分派(dispatch),类似于大多数主流编程语言中的多态性。
defmulti是一种更通用的机制,您可以在其中调度其他事物,而不仅仅是单一类型。这种灵 active 伴随着性能损失。

More on protocols

More on multimethods

关于clojure - defmulti vs defprotocol?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8908065/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com