Rooted In Develop

Kotlin - 기초 본문

Back End/Kotlin

Kotlin - 기초

RootedIn 2023. 4. 15. 22:33

함수

fun sum(a: Int, b: int) : Int {
    return a + b
}
fun sum(a: Int, b: Int) = a + b

변수

val = value, 변경 불가
var = variable, 변경 가능

문자열 템플릿

fun main(args: Array<String>) {
    println("${if (args.size > 0) args[0] else ""}")
}

클래스

class Database(val name: String)

프로퍼티

class Database(
    val name: String,
    var isOpenSource: Boolean
)

커스텀 접근자

class Database(
    val name: String,
    var isOpenSource: Boolean
) {
    val isFree: Boolean
      get() {
        return isOpenSource
      }
}

enum

enum class DatabaseType {
  MYSQL, MARIADB, POSTGRESQL, ORACLE
}

enum class DatabaseType(
  val tp: String
) {
  MYSQL("RDBMS"), MARIADB("RDBMS"), MONGODB("NoSQL")
}

when

interface Expr
class Num(val value: Int) : Expr
class Sum(val left: Expr, val right: Expr) : Expr

fun eval(e: Expr) : Int =
  when (e) {
    is Num ->
      e.value
    is Sum ->
      eval(e.right) + eval(e.left)
    else ->
      throw IllegalArgumentException("Unknown expression")
  }

while

while (condition) {

}

do {

} while (condition)

for

for (i in 1..100) {
  // 1 ~ 100
}

for (i in 100 downTo 1 step 2) {
  // 100, 98, ..., 4, 2
}

for (c in 'A'...'Z') {
  // A, B, ..., Z
}

in

fun isDigit(c: Char) = c in '0'..'9'
fun isNotDigit(c: Char) = c !in '0'..'9'
fun categorize(c: Char) = when (c) {
  in '0'..'9' -> "digit"
  in 'a'..'z', in 'A'..'Z' -> "letter"
  else -> "?"
}

try catch finally

fun readNumber(reader: BufferedReader) {
  val number = try {
    Integer.parseInt(reader.readLine())
  } catch (e: NumberFormatException) {
    null
  }
  println(number)
}

 

'Back End > Kotlin' 카테고리의 다른 글

Kotlin - 연산자 오버로딩  (0) 2023.05.27
Kotlin - 타입 시스템  (0) 2023.05.06
Kotlin - 클래스, 객체, 인터페이스  (0) 2023.05.01
Kotlin - 람다 프로그래밍  (0) 2023.05.01
Kotlin - 함수 정의와 호출  (0) 2023.04.15
Comments