클래스의 멤버 호출 시 .을 생략하고 함수 이름 뒤 소괄호를 생략해 직관적으로 표현하는 방법
중위 함수의 조건
multiply는 확장함수이고 infix 키워드를 이용해서 정의했다.
따라서 중위 표현법인 3 multiply 10으로 호출 가능하다.
fun main() {
3 shadow 5
}
infix fun Int.shadow(num : Int):Unit{
for (i in 1..num){
print("$this ")
}
}
3 3 3 3 3
재귀함수
꼬리 재귀 함수 tail recursion function
fun main() {
println(factorial(5))
}
tailrec fun factorial(num:Int,one:Int=1):Long{
return if (num==1) one.toLong() else factorial(num-1,num*one)
}
120