Kotlin - Grammar(Functions Basic)

정현철·2023년 4월 16일
0

Android App

목록 보기
3/6
post-thumbnail

Kotlin Docs - Functions

Functions

  • fun 키워드를 사용해서 함수를 선언한다.
  • 파라미터는 name: type형태로 정의하며, 반드시 type을 명시해야 한다.
fun double(x: Int): Int {
	return 2 * x
}
  • Default arguments를 지정할 수 있다. 이를 통해 값을 부여해 둔 인자는 호출 시에 반드시 값을 대입할 필요가 없다.
  • 그리고 이 default value를 사용하기 위해서는 호출할 때 named arguments를 사용해야 한다.
fun foo(bar: Int = 10,
		baz: Int,	
) { /*...*/ }

foo(baz = 1) // bar은 자동으로 0으로 assign

Unit-returning functions

값을 return하지 않는 함수를 Unit-returning functions라고 한다.

  • 이 함수를 작성할 때에는 Unit이라는 type declaration을 사용하지 않아도 된다.
  • C의 void에서 return;을 하는 것처럼 명시적으로 return 하고싶다면 return Unit 혹은 return이라고 적어줄 수 있는데, 적지 않아도 문제는 없다.
fun printHello(name: String?): Unit {
    if (name != null)
        println("Hello $name")
    else
        println("Hi there!")
    // `return Unit` or `return` is optional
}

fun printHello(name: String?) { } // 함수 리턴타입 Unit도 생략가능

Single-expression functions

함수가 single expression만을 return한다면, 중괄호를 생략해도 되며, 함수 body는 =로 정의할 수 있다.

  • 이때는 컴파일러가 return type을 추론해 주기 때문에 명시하지 않아도 된다.
fun double(x: Int): Int = x * 2
fun double(x: Int) = x * 2

0개의 댓글