코틀린의 it
키워드는 람다 표현식에서 단일 매개변수를 암시적으로 참조할 때 사용되는데,
flutter 개발하면서 코드 읽을때 조금 당양스러울 때가 있습니다.
it
키워드의 특징
- 단일 매개변수의 암시적 참조
- 람다에서 단일 매개변수만 사용하는 경우, 별도의 매개변수 이름을 정의하지 않아도 됩니다.
- 코틀린이 자동으로 해당 매개변수를
it
로 참조합니다.
- 코드 간결화
- 불필요한 매개변수 정의를 생략할 수 있어 코드를 간결하게 작성할 수 있습니다.
- 기본 제공 키워드
- 별도의 선언 없이 사용할 수 있으며, 단일 매개변수를 요구하는 표준 라이브러리 함수에서 자주 사용됩니다.
it
키워드의 사용법
1. 기본 예제
it
키워드는 람다 표현식에서 단일 매개변수를 참조할 때 자동으로 사용할 수 있습니다.
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
// map 함수에서 it 사용
val doubled = numbers.map { it * 2 }
println(doubled) // [2, 4, 6, 8, 10]
}
2. 필터링에서 사용
filter
함수에서 조건을 정의할 때 it
을 사용해 간단히 표현할 수 있습니다.
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
val evenNumbers = numbers.filter { it % 2 == 0 }
println(evenNumbers) // [2, 4]
}
3. 반복 처리
forEach
함수에서 it
을 사용해 리스트의 각 요소를 처리할 수 있습니다.
fun main() {
val names = listOf("Alice", "Bob", "Charlie")
names.forEach { println(it) }
// 출력:
// Alice
// Bob
// Charlie
}
it
키워드를 사용하지 않는 경우
다음과 같은 상황에서는 it
키워드를 사용할 수 없습니다:
- 명시적으로 매개변수 이름을 지정해야 하는 경우
- 복잡한 로직을 작성할 때는 매개변수 이름을 지정하는 것이 가독성을 높일 수 있습니다.
val doubled = listOf(1, 2, 3).map { number -> number * 2 }
println(doubled) // [2, 4, 6]
- 두 개 이상의 매개변수를 사용하는 경우
it
은 단일 매개변수에만 사용 가능하므로, 다중 매개변수가 필요한 경우 명시적으로 정의해야 합니다.
val pairs = listOf(Pair(1, "one"), Pair(2, "two"))
val mappedPairs = pairs.map { (key, value) -> "$key: $value" }
println(mappedPairs) // ["1: one", "2: two"]
- 중첩 람다에서 혼란을 방지하려는 경우
- 여러 람다 식이 중첩된 경우,
it
을 사용하면 코드의 명확성이 떨어질 수 있습니다.
- 여러 람다 식이 중첩된 경우,
val nestedLambda = listOf("a", "b").map { outer ->
listOf(1, 2).map { inner -> "$outer$inner" }
}
println(nestedLambda) // [[a1, a2], [b1, b2]]
it
키워드 사용 시 주의점
it
은 코드가 짧고 간단할 때 유용하지만, 복잡한 로직에서는 명시적 매개변수 이름이 더 좋습니다.it
을 과도하게 사용하면 코드 이해도가 떨어질 수 있습니다.
'develop' 카테고리의 다른 글
Cursor Ai는 flutter 개발에도 효과적일까? 간단 사용 후기 (0) | 2024.11.25 |
---|---|
코틀린 Kotlin 기본 문법 - flutter 개발할때 알아두면 좋은 기본 문법 (0) | 2024.11.23 |
flutter 앱 아이콘 동적으로 변경하기 (시즌 앱 아이콘 iOS, AOS) (0) | 2024.11.22 |
Flutter 앱아이콘 동적으로 변경하기 - 안드로이드 (2) | 2024.11.21 |
swift에서 obj-c로 변경할 때 (0) | 2024.11.20 |