함수형 언어 기능: 반복자와 클로저
함수형 언어 기능: 반복자와 클로저
Rust의 설계는 여러 기존 언어와 기법에서 영감을 받았는데, 그중에서도 함수형 프로그래밍은 상당한 영향을 준 요소예요. 함수형 스타일로 프로그래밍한다는 것은 흔히 함수를 값처럼 사용하는 것, 즉 함수를 인자로 넘기고, 다른 함수에서 반환하고, 변수에 할당해 나중에 실행하는 등의 방식을 포함합니다.
이 챕터에서는 함수형 프로그래밍이 무엇이고 무엇이 아닌지에 대해 논쟁하지 않고, 흔히 함수형이라 불리는 많은 언어의 기능과 비슷한 Rust 기능 몇 가지를 이야기할 거예요.
좀 더 구체적으로는 이런 내용을 다룹니다:
- 클로저(closure): 변수에 저장할 수 있는 함수 같은 구성
- 반복자(iterator): 일련의 요소를 처리하는 방법
- 클로저와 반복자를 사용해 12장의 I/O 프로젝트를 개선하는 방법
- 클로저와 반복자의 성능 (스포일러: 생각보다 빠릅니다!)
패턴 매칭과 enum처럼 함수형 스타일의 영향을 받은 다른 Rust 기능은 이미 다뤘어요. 빠르고 관용적인 Rust 코드를 작성하는 데 클로저와 반복자를 마스터하는 게 중요한 부분이므로, 이 챕터 전체를 여기에 할애할게요.
출처: The Rust Book