如何在 Rust 中实现函数默认参数?
大家好!我是 Rust 新手,从 Python 转过来,在 Python 中可以轻松编写带默认参数的函数:
def greet(name, greeting="Привет"):
print(f"{greeting}, {name}!")
现在我想在 Rust 中做同样的事情,但编译器报错。这是我的代码:
fn greet(name: &str, greeting: &str = "Привет") {
println!("{}, {}!", greeting, name);
}
编译器报错:expected identifier, found `=`。我明白 Rust 没有默认参数的语法,但如何解决这个问题呢?我需要函数既能接受一个参数(此时默认问候语为 "Привет"),也能接受两个参数。
我已经尝试过函数重载,但 Rust 不支持。我试过用不同名称定义两个函数——这可行,但代码变得冗长。有没有更符合习惯的做法?也许可以使用结构体或枚举?或者有更好的方法?