일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kotlin
- bash
- 공부집중
- 장자명언
- ASMR
- 벤자민플랭클린
- androidx
- Linux
- Coroutine
- 코틀린
- 소울칼리버6
- DART
- 이모지
- Freesound
- 명심보감
- 명언모음
- 좋은글필사하기
- FSM
- 이모지메모
- Streaming
- 오픈소스
- Flutter
- 공자명언
- 파이썬
- Firebase
- recyclerview
- Android
- 1인개발자
- 넷플릭스
- jetpack compose
- Today
- Total
목록kotlin (43)
Vintage appMaker의 Tech Blog
- let, also는 kotlin에서 자주 사용되는 함수이다. - ?. 연산자를 이용하여 null check를 편리하게 처리한다. - 주로 지역변수의 사용과 if문을 최소화하여 무결점 코드를 만들기 위해 사용된다. - let의 경우, 연산된 값으로 return이 가능하다. - also의 경우, 파라메터로 받은 값을 그대로 return 한다. // let은 연산된 값으로 return 할 수 있고 // also는 파라메터로 받은 값을 그대로 return 한다. fun main(args: Array) { normalStyle() funcionalStyle() } private fun normalStyle() { val animals = "고양이 까치 개 쥐 독수리" val lstAnimals = animal..
infix 함수는 객체가 도트(.) 연산자를 사용하지 않고 빈칸 이후 함수명을 그대로 사용할 때 사용한다. 이렇게 하는 이유는 영어를 쓰는 사용자의 입장에서는 구어체처럼 편하게 느껴지기 때문이다. 주로 확장함수나 멤버함수로 구성되어 있고 함수를 정의할 때 infix를 사용하면 일반 함수와 정의하는 것이 같다. class RankMyCompany { val m = mapOf( "일이좋다" to 25, "자부심" to 30, "높은연봉" to 25, "유명회사" to 20, "야근당연" to -60) var 만족도 : Int = 0 // infix는 확장함수나 멤버함수로 구현되어야 한다. infix fun AddPoint(s : String) : Int{ this.만족도 += m[s]!! return thi..
📢 리스트형태의 데이터를 map 형태로 변환할 때 유용하게 사용할 수 있는 메소드이다. fun main(args: Array) { // 순차적인 값을 기준으로 map 작성 val player_reward = (1..100).associate{ it to reward(it) } (1..50).forEach { println ("${it}등 -> ${player_reward[it]}") } } fun reward(n: Int, baseMoney : Int = 1000): Int = // if else의 간소화 목적 when { n == 1 -> baseMoney * 10 n in 2..3 -> baseMoney * 5 n in 4..10 -> baseMoney * 2 else -> baseMoney } as..
lateinit lateinit 예약어를 사용하면 클래스에서 변수 : 형으로 선언가능하다. 나중에 초기화 할 수 있음. var만 사용가능. 자동으로 null 처리함 primitive 형은 불가능함 lazy 코드 어디선가 사용할 때, 1회 초기화 실행된다(안드로이드에서 위젯 초기화시 유리). val로 선언 primitive 형도 가능함. 초기화 실행 시, 일련의 코딩도 가능하다. fun main(args: Array) { var l : LateInitTest = LateInitTest() l.Test() var l2 : LazyInitTest = LazyInitTest() l2.Test() } // 코틀린에서는 java와 달리 멤버필드를 반드시 초기화해야 한다. // 아니면 abstract나 lateini..