※ 기타 함수의 활용
- takeIf() 함수는 람다식이 true면 객체 T를 반환하고 그렇지 않다면 null을 반환하고 takeUnless() 함수는 람다식이 false면 T를 반환하고 그렇지 않다면 null을 반환한다.
※ 엘비스 연산자(?:)를 함께 사용
val input = "Kotlin"
val keyword = "in"
//입력 문자열에 키워드가 있으면 인덱스를 반환하는 함수를 takeIf를 사용해 구현
input.indexOf(keyword).takeIf { it >= 0 } ?: error("keyword not found")
// takeUnless를 사용해 구현
input.indexOf(keyword).takeUnless { it < 0 } ?: error("keyword not found")
※ 시간의 측정
val executionTime = measureTimeMillis {
// 측정할 작업 코드
}
println("Execution Time = $executionTime ms")
※ 난수 생성하기
- 코틀린의 난수 생성 : 자바의 java.util.Random을 이용할 수 있었으나 JVM에만 특화된 난수를 생성하여 코틀린에서는 멀티 플랫폼에서도 사용 가능한 kotlin.random.Random을 제공한다
'기타 > What I Learned' 카테고리의 다른 글
[TIL] 자료구조 - 빅 오 표기법 (0) | 2022.03.04 |
---|---|
[TIL] 자료구조 - 복잡성 (0) | 2022.03.03 |
[TIL] Kotlin - use() (0) | 2022.02.27 |
[TIL] Kotlin - with() 활용 (0) | 2022.02.22 |
[TIL] Kotlin - run() (0) | 2022.02.21 |