728x90
람다함수
- 람다함수는 fun 키워드를 사용하지 않고 중괄호 {}로 표현한다
- {}안에 화살표 -> 가 있어 화살표 왼쪽은 매개변수, 오른쪽은 함수 본문으로 사용한다
- 람다함수에는 return문이 존재하지 않고 함수 본문의 마지막 줄 내용이 리턴값이다
- 람다함수는 함수 이름이 없어 변수명으로 호출한다
- 매개변수가 없는경우 화살표와 오른쪽에 함수 본문만 적고, 화살표도 생략 가능하다
// 일반적인 함수 선언
fun normalFunc(num1: Int, num2: Int): Int{
return num1 + num2
}
// 람다함수 선언
val lambda = {num1: Int, num2: Int -> num1 + num2}
// 매개변수가 1개인 람다함수에 (자료형) -> Unit, it 키워드 사용
val oneParam: (Int) -> Unit = { println(it)}
fun main(){
println(normalFunc(1,2)) // 3
println(lambda(1,2)) // 3
println(oneParam(3)) // 3
}
typealias
- 타입의 별칭을 선언할 수 있다.
- typealias를 통해 매개변수를 미리 지정해놓기 때문에 함수 선언 시 타입을 명시하지 않아도 무관하다
typealias customType = (String, String) -> Boolean
fun main(){
// typealias 사용 예시
val isEqual1: customType = {str1: String, str2: String -> str1.equals(str2)}
// 함수 선언 시 매개변수 타입 생략 예시
val isEqual2: customType = {str1, str2 -> str1.equals(str2)}
println(isEqual1("abc", "abcd")) // false
println(isEqual2("abc", "abc")) // true
}
728x90
'Android' 카테고리의 다른 글
[Android Studio] 소문자 / 대문자 구분없이 자동완성 탭 열게하기 (0) | 2024.08.02 |
---|---|
[Kotlin] 코틀린 - 클래스 종류 (0) | 2024.08.02 |
[Kotlin] 코틀린 - 상속 (0) | 2024.08.02 |
[Kotlin] 코틀린 - 클래스, 생성자 (0) | 2024.08.01 |
[Kotlin] 코틀린 - 반복문 (0) | 2024.08.01 |