Temp
언어가 달라도 람다식은 공통된 구조를 갖고 있다!
신우섭
2021. 11. 18. 23:16
최근 대부분의 언어들이 함수형 프로그래밍을 지원하게 되면서
람다식을 사용할 수 있게 되었습니다.
이 람다식은 언어마다 약간은 다르지만 화살표 를 기준으로 좌,우 의 구조가 정해져 있다는 것은 똑같습니다.
구체적인 각 언어별 람다식의 구조는 아래와 같습니다.
// C++
std::function<int(int)> lambda_func = [](int a, int b) -> int{ return a - b; };
int result = lambda_func(20, 10);
// JS
let lambdaFunc = (a,b) => { a - b };
let result = lambdaFunc(20, 10);
// JAVA
// java 람다를 표현하기 위해서 인터페이스가 있어야하지만 코드가 길어지기에 생략합니다
MyLambdaFunc lambdaFunc = (int a, int b) -> { a - b };
int result = lambdaFunc(20, 10);
C++,JavaScript,Java 세가지 언어의 람다식을 확인해본 결과
=> 또는 -> 와 같이 화살표(Arrow) 가 존재하고 화살표를 기준으로 왼쪽은 소괄호로(()) 로 감싸진 함수 인자의 타입, 수, 이름 등의 정보를 나타내며
오른쪽은 중괄호({}) 로 감싸진 함수 본문이 존재한다는 공통점을 발견할 수 있습니다.
결론 : 람다식의 큰 구조는 똑같음
화살표 기준 ( => or -> )
왼쪽 : 소괄호로 시작하는 함수 인자의 타입, 수, 이름
오른쪽 : 중괄호로 시작하는 함수 본문