일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- ASMR
- bash
- 공부집중
- 이모지메모
- 좋은글필사하기
- 파이썬
- 코틀린
- DART
- 명심보감
- 오픈소스
- recyclerview
- 명언모음
- 공자명언
- 장자명언
- Linux
- kotlin
- 1인개발자
- Android
- androidx
- FSM
- Streaming
- 벤자민플랭클린
- 이모지
- Freesound
- Coroutine
- jetpack compose
- Flutter
- 넷플릭스
- Firebase
- 소울칼리버6
Archives
- Today
- Total
Vintage appMaker의 Tech Blog
[kotlin 배우기 github] 18. 람다식 본문
식별자 없이 실행 가능한 함수 표현식. 가독성을 위해 코드를 줄이는 것.
요즘 언어의 유행. 특히 자바에서는 필요한 요소였음. java8부터 지원.
함수형 프로그래밍에서는 자주사용됨.
일반적인 형식은..
{ 변수정의 -> 함수구현 }
함수형 변수 선언
var 이름 = { 변수정의 -> 함수구현 };
함수형 변수 형 선언. C/C++ 함수포인터와 유사함.
이름 : (변수정의)->리턴형;
package advance
/**
* Created by snake on 17. 5. 23.
*/
// 아직 람다식에 익숙하지 않다.
// 코딩을 짧게 해주는 인라인함수 정도로만 이해하고 사용한다.
fun main(args : Array<String> ){
// 가장 심플한 람다식 표현
var 함수형변수 = {a: Int, b: Int -> a + b}
// 그냥함수변수는 그냥함수 : (Int, Int) -> Int 형으로 표현가능하다.
// C/C++ 에서 함수형변수 정의하는 것과 유사하다.
// 함수처럼 사용함
println( 함수형변수(10, 30 ) )
// 변수로 넘김
함수가인자라네( 함수형변수 )
함수가인자라네2{ n, n2 -> n + n2}
함수가인자라네3(
{ n, n2 -> n +n2 },
100, 10
)
// 함수원형의 포인터를 대입시키는 편법
var 함수인자 = {a : Int -> AddFunc(a)}
함수가인자라네4( 함수인자 )
// 위의 코딩을 점점 더 단순화
함수가인자라네4( {a : Int -> AddFunc(a)} )
함수가인자라네4{ a : Int -> AddFunc(a)}
함수가인자라네4{ a -> AddFunc(a) }
}
fun 함수가인자라네( func : (Int, Int) -> Int ){
func(10, 10).let { 결과값 -> println("결과값은 $결과값 입니다") };
}
fun 함수가인자라네2( func : (Int, Int) -> Int ){
println ( func(10, 10) )
}
fun 함수가인자라네3( func : (Int, Int) -> Int, a : Int, b : Int ){
println ( func(a, b) )
}
fun 함수가인자라네4( func : (Int) -> Int ){
println ( func(1) )
}
fun AddFunc(i : Int) : Int {return i+100}
'강좌, 연재 > 앱으로 배우는 kotlin' 카테고리의 다른 글
[kotlin 배우기 github] 20. 확장함수 (0) | 2020.11.19 |
---|---|
[kotlin 배우기 github] 19. 중요함수 (0) | 2020.11.19 |
[kotlin 배우기 github] 17.Object Keyword (0) | 2020.11.19 |
[kotlin 배우기 github] 16. interface(companion object) (0) | 2020.11.19 |
[kotlin 배우기 github] 15. 오버로딩, 오버라이딩 (0) | 2020.11.19 |
Comments