E3010#
只有带标签参数才可以有默认值。
错误示例#
fn greet(name : String = "World") -> Unit {
// ^ Error: Only labelled arguments can have default value.
println("Hello, " + name + "!")
}
建议#
如果你想提供默认值,用 ~
定义一个带标签的参数。
fn greet(name~ : String = "World") -> Unit {
println("Hello, " + name + "!")
}
fn main {
// 可以这样调用:
greet() // 使用默认值 "World"
greet(name="Alice") // 使用提供值 "Alice"
}
或者如果你想保持它为一个位置参数,移除默认值:
fn greet(name: String) -> Unit {
println("Hello, " + name + "!")
}