我不知道这是否被认为是一种好的编程习惯,但就我个人而言,我发现通过命名函数的参数来调用函数会使代码更具可读性。我不知道这在 Rust 编程语言中是否可行。我在语法中没有找到任何命名的调用表达式:
https://doc.rust-lang.org/reference/expressions/call-expr.html
因此,例如以下不能编译:
fn add(n1 : i32, n2 : i32) -> i32 {
n1 + n2
}
fn main() {
let sum_value = add(n1 = 124, n2 = 200);
println!("sum = {}", sum_value);
}
Run Code Online (Sandbox Code Playgroud)
因此,我的问题是:在 Rust 中是否可以在函数调用中命名参数,如果答案是肯定的,根据 Rust 最佳实践,它是否被认为是一种好的做法?(我是初学者)
环境:
OS: Linux Ubuntu MATE 20.04.1 (64 bits)
rustc --version: rustc 1.46.0 (04488afe3 2020-08-24)
Run Code Online (Sandbox Code Playgroud)
Shi*_*ite 21
虽然这个 RFC 中并不是每个人都同意,但似乎普遍支持向 Rust 添加命名和默认参数(包括核心团队的支持)。看来主要的障碍不在于概念,而在于实施。
正如 RFC 中所述,替代方案(例如构建器模式)与内置命名参数和默认参数具有相同的问题,而且还添加了大量样板文件。
因此我的问题是:在 Rust 中是否可以在函数调用中命名参数
Rust 不支持命名参数作为语言的一部分。
根据 Rust 最佳实践,它是否被认为是一种好的做法?(我是初学者)
通常不会(相当强的类型通常有助于缓解这个问题)
在真正有用的情况下,两种模式会反复出现:
请参阅链接到https://old.reddit.com/r/rust/comments/fg6vrn/for_your_thinkation_an_alternative_to_the/的文章以获取更多信息(我链接到该线程是因为对选项进行了有用的讨论,以及指向有用的板条箱)。