[Rust] function
Updated:
개요
- 반환 시 표현식(구문과는 다르게 세미 콜론이 없는) 혹은 return 사용
- 함수 포인터
- fn 타입
예제 - 개요
- 코드
-
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()); }
-
- 실행 결과
-
f1 call f2 call : 1 1 1
-
예제 - 함수 포인터
- 코드
-
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)); }
-
- 실행 결과
-
1 2 3
-