fn()とすることで、引数を関数にすることができる。
fn main() {
run_function(handle_index);
}
fn run_function(f: fn()-> Option<HashMap<&'static str, &'static str>>) {
let mut content: Option<HashMap<&str, &str>> = Some(HashMap::new());
content = f();
match content {
Some(data) => {
println!("{:?}", data);
},
None => {},
}
}
fn handle_index() -> Option<HashMap<&'static str, &'static str>> {
let mut content1 = HashMap::new();
content1.insert(
"title",
"index page",
);
return Some(content1);
}
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.45s
Running `target/debug/ares`
{“title”: “index page”}
なるほどー、中々やるやんけ