问题:返回空Vec还是None

原文约300字,阅读约需1分钟。发表于:

// 一个简单的例子 // 尝试从v中获取需要的几个元素,然后放进一个新的Vec中并return // 可能并不存在这样的元素,如果不存在,我该返回空Vec还是None // 两种api设计: fn try_get(v: Vec) -> Vec fn try_get(v: Vec) -> Option<Vec> 在stackoverflow有相同的问题,基本上是建议返回空列表而不是null,其中针对的都是c#/java之类的有null的语言,但是rust没有null,我该如何做?

本文讨论了在Rust中处理返回空值的问题。作者提到了两种API设计,一种是返回空的Vec,另一种是返回Option<Vec>。作者还提到了Stack Overflow上的类似问题,大多数人建议返回空的列表而不是null。然而,由于Rust没有null值,作者提出了一个问题,即如何在Rust中处理这个问题。

相关推荐 去reddit讨论