Closures

클로져에 대해 알아보는 시간이다. 클로져는 무엇일까? 모던 언어에서는 클로져를 종종 볼 수 있다. 먼저 예제를 통해 클로져를 알아보자.


fn main() {
		
	let x = 3;
	// () 대신 || 사용.
	// 구문이 한 줄이라 {} 생략 가능.
	// 아래 클로져에서 x 는 캡쳐되어 사용 가능.
	let closure = | val:i32 | val + x ;

	println!(" closure fn : {}", closure(3));	
	

}

  • input value를 사용하기 위해 () 대신 || 을 사용한다.
  • {} 구문 부분에서 생략 가능, 하지만 구문이 한줄이 아니라면 {} 사용한다.
  • 클로져를 사용 시에는 다른 변수를 사용할 수 있다. Capturing 이라고 표현.