我想创建一个回调函数。下面的代码不起作用,但它显示了我想要做的事情。这是我在 Rust Playground 中损坏的程序的链接。
fn use_callback(callback: fn()) -> i32 {
return callback();
}
fn callback() -> i32 {
return 2;
}
fn main() {
println!("Result: {:?}", use_callback(callback));
}
Run Code Online (Sandbox Code Playgroud)
预期的结果应该是Result: 2。
您只需要将函数中的回调类型更改use_callback为返回i32.
fn use_callback(callback: fn() -> i32) -> i32 {
// ^^^^^^ here
return callback();
}
fn callback() -> i32 {
return 2;
}
fn main() {
println!("Result: {:?}", use_callback(callback));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |