코틀린에서 함수 선언 및 반환 타입의 지정
fun main(args: Array<String>) {
val val1 = 10
val val2 = 20
println("Max value is ${max(val1, val2)}")
}
fun max(a: Int, b: Int): Int {
return if (a > b) a else b
}
- 둘중 큰값이 뭔지 구하는 함수이다.
- 함수의 선언은 fun 으로
- 함수 이름
- max
- 코틀린에서의 IF 의 처리
- if 가
식
으로 취급된다
- if 를 통해 삼항연산자와 같은 효과 가능
- if 가
식이 본문인 함수
fun max(a: Int, b: Int): Int = if (a > b) a else b
- max 함수가 if 식을 바로 반환이 가능함
- 중괄호 ,
return
키워드가 필요가 없다.
- 함수의 반환 타입은
=
뒤에 오는 식을 통해 결정된다.
반환 타입의 생략과 타입의 추론
- 타입 추론을 통해 함수의 반환 타입을 생략이 가능하다.
- 함수가 식을 바로 반환하는 경우에, 컴파일러가 자동으로 식의 결과 타입을 함수의 반환 타입으로 결정한다.
fun max(a: Int, b: Int) = if (a > b) a else b
주의
- 블록이 본문인 함수
- 이 경우 함수가 값을 반환해야한다면, 반환 타입을 명시적으로 지정해야한다.
return
문을 사용해 반환 값을 지정해야하는 것이다.
- 함수 설계 의도
- 코틀린은 긴 함수에서 여러가지 return 이 사용되는 경우
- 반환 타입을 명시적으로 선언하도록 설계되어 있다.
- 함수가 반환하는 타입과 위치를 명확하게 파악하기 위함이다.
Uploaded by N2T
'코틀린 > 코틀린인액션' 카테고리의 다른 글
[코틀린인액션]`in` 의 사용 (0) | 2023.11.29 |
---|---|
[코틀린인액션] 맵 과 리스트 이터레이션 (0) | 2023.11.26 |
[코틀린인액션] 변수 (0) | 2023.11.23 |
[코틀린인액션] 프로퍼티 (0) | 2023.11.23 |
[코틀린인액션] enum (0) | 2023.11.23 |