변수
- 변수 선언시 타입 추론을 사용해서 타입을 생략하는 것이 가능하다
타입
- Number
- 정수 타입에는 Byte, Short, Int, Long이 있고 실수 타입에는 Double, Float가 있다
val widthDouble = 55.0
val widthFloat = 55f
- Char
- 문자를 single quotes로 표기하는 타입이다
- 특수문자 \t, \n, \, $
- String
- 문자열을 double quotes로 표기하는 타입이다
- String template : $
- Array
- 꺽쇠보다 primitive type을 사용하는 것을 권장한다
val numbers = intArrayOf(3, 6, 9, 12)
함수
- main()
- 프로그램의 엔트리 포인트로서 운영체제가 실행시켜주는 함수이다
- Kotlin에는 인자가 없는 main 함수와 인자를 전달하는 main 함수가 있다
fun main(args: Array<String>) {
println(args[0])
}
- trailing comma
- 마지막 파라미터에 , 를 쓸 수 있다
- 새로운 파라미터를 추가할 때 편리하다
data class Student(
val id: String,
val classroom: Int,
)
- default arguments
fun saveStudent(name: String, id: Int = 1)
- named argument
- 함수 호출시 인자를 지정할 수 있다
- 인자가 여러개일 경우 순서와 상관없이 원하는 위치에 정의할 수 있다
saveStudent(name = "철수")
- single expression
- 함수가 하나의 표현식으로 구성되어 있으면 Block을 감싸는 대신 = 을 사용해 함수를 정의하는 것이 가능하다
- 타입 추론을 사용해서 리턴 타입을 명시하지 않아도 된다
fun add(num1: Int, num2: Int) : Int{
return num1 + num2
}
fun add(num1: Int, num2: Int) = num1 + num2
- function type
- 코틀린의 함수는 일급 함수이기 때문에 변수에 저장될 수 있고, 함수의 인자로 전달할 수 있고 함수의 결과로 반환할 수 있다
- 표기 방식:
(parameter) → return type
val isEven: (Int) -> Boolean = {
it $ 2 == 0
}