【Rust 日报】2021-11-25 Rust中的函数重载和可选参数事例

Rust中的函数重载和可选参数事例

来自高级语言的我们,在创建和使用Rust中的函数时,常常会错过灵活性。Rust函数默认不具备以下功能。

  • 函数重载(通常出现在C++/Java/JS/C#中)

  • 可选参数(Python中的基本功能)

  • 命名参数(Python中的基本功能) 很多人说,Rust已经可以通过trait泛型struct来提供这些功能。但是,我还没有找到任何关于这方面的具体例子或者彻底的教程,特别是关于实现的利弊分析。因此,我试图自己实现这些功能。结果发现,它们并不复杂,只需要trait泛型struct,没有宏,也没有nightly版本功能。下面是我的实现。

Github: https://github.com/tidunguyen/flexible-fn-rs

我很愿意分享我的实现。

  • 它作为参考,以便其他人可以在此基础上提供更复杂、更灵活的API

  • 我希望得到大家的反馈,因为我对Rust还不是很精通,特别是对于那些我怀疑在使用时会带来副作用的东西,比如泛型里的Sized约束。

  • 同时我也希望我的分享能作为证明Rust也可以有灵活的函数

以上是Reddit上原帖内容,代码示例在Github上&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值