-
Rust연습] Closures❤️러스트의 클로져는 기본적으로 레퍼런스로 땡겨 쓴다. 멀티 쓰레드 할 때 spawn 에서는 꼭 move를 해 줘야 한다. arc기본 사용법코딩Coding/Rust❤️Optimization❤️ 2022. 7. 11. 20:49728x90
러스트의 클로져는 기본적으로 레퍼런스로 땡겨 쓴다.
멀티 쓰레드 할 때 spawn 에서는 꼭 move를 해 줘야 한다.
4분 참조
프로그래밍 언어 러스트를 배웁시다! 177 Easy Rust in Korean: Scoped threads
fn main() { // Increment via closures and functions. fn function(i: i32) -> i32 { i + 1 } // Closures are anonymous, here we are binding them to references // Annotation is identical to function annotation but is optional // as are the `{}` wrapping the body. These nameless functions // are assigned to appropriately named variables. let closure_annotated = |i: i32| -> i32 { i + 1 }; let closure_inferred = |i | i + 1 ; let i = 1; // Call the function and closures. println!("function: {}", function(i)); println!("closure_annotated: {}", closure_annotated(i)); println!("closure_inferred: {}", closure_inferred(i)); // A closure taking no arguments which returns an `i32`. // The return type is inferred. let one = || 1; println!("closure returning one: {}", one()); }
결과
function: 2 closure_annotated: 2 closure_inferred: 2 closure returning one: 1
클로저 예문
출처:
https://doc.rust-lang.org/rust-by-example/fn/closures.html
반응형'코딩Coding > Rust❤️Optimization❤️' 카테고리의 다른 글
Make your Rust Binaries TINY! (0) 2022.09.06 6. Multicore Programming | MIT OpenCourseWare (0) 2022.08.28 Rust❤️VecDeque를 써야할 때 __러스트 최적화👍 (0) 2022.08.14 cargo add 활용법❤️귀찮은 features넣는 법 -F이게 좋네 ㅋ❤️(Cargo.toml 넣기 귀찮다. ㅋㅋ) (0) 2022.07.26 Rust 기본 PATH 및 Rust ❤️(rustup default nightly or stable)내맘대로 버젼 바꾸기❤️ (0) 2022.06.17 rust❤️] reduce vs fold의 차이(methods) (0) 2022.06.16 Rust❤️] map과 for_each의 차이점(for_each는 collect를 안 해도 된다 , 나같이 귀찮은거 싫어하는 사람에게 최고 구만ㅋ (0) 2022.06.16 cargo bench 사용법❤️-Benchmark testing your Rust Code | Let's Get Rusty (0) 2022.06.15