안드로이드/가성비 앱개발 도전기

Day1: Kotlin 고급 문법 학습

Tay Kim 김태희 2021. 12. 6. 21:08

퇴근 후 노트북을 켜고, 비타민 워터 하나 들고 집에서 공부 중이다. 

 

람다는 이해했는데 확장함수에서 멘탈 터졌다. 

내일 추가적으로 공부해야 할 것 같다. 

 

//Lambda
//람다식은 우리가 마치 value 처럼 다룰 수 있는 익명 함수이다.
//1) 메소드의 파라미터로 넘겨줄 수 있다. fun MaxBy(a: Int)
//2) return 값으로 사용할 수가 있다.

//람다의 기본 정의
// val lambdaName : Type = {argumentList -> codeBody}


val square : (Int) -> (Int) = {number:Int -> number*number}

val nameAge : (String, Int) -> String = {name : String, age->
    "I am ${name}. My age is ${age}"
}

fun main(){
    println(square(12))
    println(nameAge("Sarah", 37))
    val a = "joyce said "
    val b = "mac said "
    println(a.pizzaIsGreat())
    println(b.pizzaIsGreat())

    println(extendString("ariana", 20 ))
}

//확장함수 - 클래스에 함수 몇개 추가하고 싶을 때

val pizzaIsGreat : String.() -> String = {this
    this + "pizza is great!"
}

fun extendString(name: String, age: Int) : String{
    val introduceMe : String.(Int) -> String = {"I am ${this} and ${it} years old."}
    return name.introduceMe(age)
}

 

오늘 접한 내용은 

1. 람다식 기본 문법

2. 확장함수

3. this, it

 

내일 공부할 내용은! 해당 부분 블로그 글 보기~

 

https://youtu.be/Q5noYbbc9uc Code with Joyce님의 영상을 따라하는 중이다.