개요
- 반환 시 표현식(구문과는 다르게 세미 콜론이 없는) 혹은 return 사용
- 함수 포인터
예제 - 개요
- 코드
-
fn f1() {
println!("f1 call");
}
fn f2(i: i32) {
println!("f2 call : {}", i);
}
fn f3() -> i32 {
1
}
fn f4() -> i32 {
return 1;
}
fn main() {
f1();
f2(1);
println!("{}", f3());
println!("{}", f4());
}
- 실행 결과
예제 - 함수 포인터
- 코드
-
fn func1(i: i32) -> String {
i.to_string()
}
fn func2(f: fn(i32) -> String, i: i32) {
println!("{}", f(i));
}
fn func3(f: fn(i32) -> String) -> fn(i32) -> String {
f
}
fn main() {
func2(func1, 1);
func2(func1, 2);
println!("{}", func3(func1)(3));
}
- 실행 결과