Local 2

[Kotlin] 고차 함수 안에서 흐름 제어

Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. filter 와 함께 람다 안에서 return 을 사용하는 등의 예제를 살펴보자. 람다 안의 return 문: 람다를 둘러싼 함수로부터 리턴(non-local return) 일반 루프 안에서 `return` 사용하기 data class Person(val name: String, val age: Int) fun lookForAlice(people: List) { for (person in people) { if (person.name == "Alice") { println("Found!") return } } println("Alice is not found") } val people = ..

Kotlin 2024.01.30

[Kotlin] 로컬 함수 & 확장

Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. 좋은 코드의 특징 중 하나는 중복이 없는 것이다. 이에 관해서 DRY(Don't Repeat Yourself) 원칙이라는 이름도 있다. 만약 어떤 함수 안에 같은 구조의 코드가 반복된다면 어떻게 이 반복을 줄일 수 있을까? 메서드를 더 작은 단위의 메서드로 나눌 수 있을 것이다. 물론 이것도 좋은 방법이다. 코틀린에서는 다른 방법도 존재한다. 로컬(local) 함수 코틀린에서 로컬 함수는 함수에서 추출한 함수를 원 함수 내부에 중첩시키는 기능이다. 이렇게 하면 문법적인 부가 비용 없이도 깔끔하게 코드를 만들 수 있다. 아래 `User`를 DB 에 저장하는 함수 예제가 있다. class Us..

Kotlin 2024.01.04