함수
fun helloWorld() : Unit { // Unit은 자바의 void와 같다.
println("Hello world!")
}
fun add(a : Int, b : Int) : Int {
return a+b
}
val vs var
fun hi () {
val a : Int = 10
var b : Int = 9
b = 100
val c = 100 // Int를 쓰지 않아도 알아서 타입 추론 해줌
var d = 100
// var name : String = "yoop"
var name = "yoop"
}
String Template
val name = "yoop"
val lastName = "kang"
println("my name is $name")
println("my name is ${name + " " + lastName}")
println("Is this ture ? ${1 == 0}")
println("this is 2\$aa") // $를 문자로 쓰고 싶을 때 백슬래시를 사용
fun maxBy(a : Int, b : Int) : Int {
if (a > b) return a
else return b
}
// 코틀린은 삼항 연산자가 없다.
fun maxBy2(a : Int, b : Int) : Int = if (a > b) a else b
// when은 switch문과 같다.
fun checkNum(score : Int) {
when(score) {
0 -> println("this is 0")
1 -> println("this is 1")
2,3 -> println("this is 2 or 3")
else -> println("I don't know.") // function 같은 경우엔 else 생략도 가능하다.
}
// when은 return 식으로도 가능하다. 그러나 이럴땐 else가 필수!
var b = when(score) {
1 -> 1
2 -> 2
else -> 3
}
println("b : $b")
when(score) {
in 90..100 -> println("You are genius") // 90에서 100 사이 값
in 10..80 -> println("not bad") // 10에서 80 사이 값
else -> println("okay")
}
}