Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

장군이네집

180202 Kotlin 사용기 2 본문

개발/Kotlin

180202 Kotlin 사용기 2

kukuku0517 2018. 2. 2. 23:44

Basic Syntax

https://kotlinlang.org/docs/reference/idioms.html



String Formatting


"sum of $a and $b is ${a + b}"


String 내부에 $ , ${}을 통해서 쉬운 formatting이 가능



Type check & auto cast


 if (obj is String) {

        // `obj` is automatically cast to `String` in this branch

        return obj.length

    }


if 연산자를 통해 type check가 완료된경우 auto cast되어 해당 type의 method를 바로 사용가능


when

when (obj) {
    1          -> "One"
    "Hello"    -> "Greeting"
    is Long    -> "Long"
    !is String -> "Not a string"
    else       -> "Unknown"
}

switch의 강화형?

인자가 다른 type이어도 상관없고, return 값도 가질 수 있다



collections


fruits

.filter { it.startsWith("a") }

.sortedBy { it }

.map { it.toUpperCase() }

.forEach { println(it) }


lambda를 통해 (it) 다양한 조작이 가능



Data class


getter / setter / equals 등 POJO class에 필요한 method들을 자동 생성




Extension Functions


fun String.spaceToCamelCase() { ... }


기존 class에 없던 method를 확장하여 선언가능

static하게 선언되므로 어디에서나 사용가능



Null Check


files?.size

files?.size ? : "empty"

files?.size ? : throw Exception

files?.size ?.let { doSomething() }



With


with(animal){

eat()

sleep()

...

}


특정객체에 대해 실행하는 메소드를 한 단락으로 통합


다음에는 lambda랑 collection 관련해서 정리해야겠다




'개발 > Kotlin' 카테고리의 다른 글

180118 kotlin 사용기  (0) 2018.01.19
Comments