본문 바로가기
후기

Kotlin 기록

by 저녁추천좀 2023. 1. 5.

매일 짬짬이 조금씩 해보자

 

2023-01-05

 

https://developer.android.com/kotlin?hl=ko 

 

Kotlin과 Android  |  Android 개발자  |  Android Developers

Kotlin으로 Android 앱을 작성할 수 있습니다. Kotlin은 표현력이 뛰어나고 간결하며 강력합니다. 가장 좋은 점은 자바 프로그래밍 언어 및 기존 Android 런타임과 상호 운용이 가능하다는 점입니다.

developer.android.com

https://developer.android.com/training/kotlinplayground?hl=ko 

 

Kotlin 플레이그라운드  |  Android 개발자  |  Android Developers

Kotlin 플레이그라운드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Kotlin을 사용해 보고 지금까지 학습한 내용을 연습해 보세요. 아래 창에 코드를 입력하

developer.android.com

 

구글 공식 kotlin 코딩 스타일

  • 함수 이름은 카멜 표기법을 사용해야 하며 동사 또는 동사구여야 합니다.
  • 각 문은 한 줄에 하나씩 입력해야 합니다.
  • 여는 중괄호는 함수가 시작되는 줄의 끝에 표시되어야 합니다.
  • 여는 중괄호 앞에는 공백이 있어야 합니다.
  • 함수 본문은 4개 공백으로 들여쓰기되어야 합니다. Tab 문자를 사용하여 코드를 들여쓰기하지 마세요. 공백 4개를 입력하세요.
  • 닫는 중괄호는 함수 본문의 마지막 코드 줄 뒤 자체 줄에 있습니다. 닫는 중괄호는 함수 시작 부분에 있는 fun 키워드와 정렬되어야 합니다.

자바 + 파이썬 스타일인가

 

flutter 라는게 있다. 

https://flutter-ko.dev/

 

Flutter - 가장 빠른 아름다운 네이티브 앱

Flutter(플러터)는 하나의 코드베이스로 모바일, 웹, 데스크톱에서 네이티브로 컴파일 되는 구글의 아름다운 UI 툴킷입니다. Flutter는 기존 코드와 함께 동작하고, 전세계 개발자와 조직에 쓰이고

flutter-ko.dev

크로스 플랫폼, Dart 언어, 구글의 전폭적인 지원

이 있지만 아직 초기단계라 생태계가 좀 더 풍부해지면 해봐야겠다. 

보통 작업하는게 굉장히 native 한거라 품이 많이 들거 같아서 보류

 

https://developer.android.com/codelabs/basic-android-kotlin-compose-first-app?hl=ko&continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-1-pathway-2%3Fhl%3Dko%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-first-app#2 

 

첫 번째 Android 앱 만들기  |  Android Developers

첫 번째 Android 앱을 만드는 방법을 알아보세요.

developer.android.com

까지 봄. 

 

 

+ 2023-01-09

compose 도 막 오래된건 아니네. XML 안 하는건 좋다. 많이 번거로웠었는데 

 

https://developer.android.com/courses/pathways/android-basics-compose-unit-2-pathway-1?hl=ko#codelab-https://developer.android.com/codelabs/basic-android-kotlin-compose-conditionals 

 

Kotlin 기초  |  Android Basics Compose - Building App UI  |  Android Developers

Kotlin의 기초, 객체 지향 프로그래밍, 람다를 자세히 알아봅니다.

developer.android.com

코틀린을 알아보자 

 

+ 2023-01-09

    val x: Any = 4

    when (x) {
        2, 3, 5, 7 -> println("x is a prime number between 1 and 10.")
        in 1..10 -> println("x is a number between 1 and 10, but not a prime number.")
        is Int -> println("x is an integer number, but not between 1 and 10.")
        else -> println("x isn't a prime number between 1 and 10.")
    }
 

when은 처음본다. switch와 유사하지만 좀더 보기가 좋네

 

    val message = when(trafficLightColor) {
        "Red" -> "Stop"
        "Yellow", "Amber" -> "Proceed with caution."
        "Green" -> "Go"
        else -> "Invalid traffic-light color"
    }

이것도 보기가 좋다. 

 

 var favoriteActor: String? = "Sandra Oh"
    favoriteActor = null

String일지도 ? 의 의미일까

var favoriteActor: String? = null
    println(favoriteActor?.length)

null에 대해서 극단적인 처리를 하네, 

 

Elvis 연산자

  val favoriteActor: String? = "Sandra Oh"

    val lengthOfName = favoriteActor?.length ?: 0

    println("The number of characters in your favorite actor's name is $lengthOfName.")

?:

evlis 머리를 닮아서 elvis 연산자.. 

 

class SmartDevice(val name: String, val category: String) {
    var deviceStatus = "online"

    constructor(name: String, category: String, statusCode: Int) : this(name, category) {
        deviceStatus = when (statusCode) {
            0 -> "offline"
            1 -> "online"
            else -> "unknown"
        }
    }
    ...
}

 

생성자는 좀 뒤에 좀 붙는가

 

 

https://developer.android.com/codelabs/basic-android-kotlin-compose-classes-and-objects?hl=ko&continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-2-pathway-1%3Fhl%3Dko%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-classes-and-objects#6 

 

 

+ 2023-01-17

 

fun main() {
    
    var proc = ::proc_1
    proc()
    
    val procc = proc_2
    procc()
}
fun proc_1(){
    println("proc_1")
}
var proc_2 = {
    println("proc_2")
}

var-iable 도 되고 val-ue 도 되고? 

 

클래스 상속에서 open으로 명시적으로 상속 및 오버라이드 가능함을 표시한다. 

이슈 될 수 있는 부분은 다 명시하거나 예외처리를 기본으로 까는 듯

 

interface 파트 들어가니까 내용이 확 늘어나는 구만 

 

일단 기초 부분은 돌아보았다. 

'후기' 카테고리의 다른 글

Quotes  (0) 2023.05.09
저 칼로리 밥  (0) 2023.01.15
대흥-공덕 스터디룸  (0) 2022.08.23