関数の定義は、こんな感じになる。

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

funで始まって、関数名。引数は()内にカンマ区切りで名前:型のように書く。最期に戻り値の:型を書く。

これは、こんなふうにも書けるらしい。

fun sum(a:Int, b:Int) = a + b

戻り値の型は、型推論が働いているらしく、書かなくてもいい。(書いてもいい)

呼び出すところはこんな感じになる。他のC言語っぽい文法の言語と同じ感じだ。

fun main(args:Array<String>) {
    val s = sum(1 , 2)
    println("1 + 2 = ${s}")
}

また、呼び出すところで引数名=値と指定すると、引数の順番関係なく指定できる。

fun hoge(a:String, b:String, c:String) {
    println("a = ${a}")
    println("b = ${b}")
    println("c = ${c}")
}

fun main(args:Array<String>) {
    hoge(c="hoge3",
            a="hoge1",
            b="hoge2")
}

実行結果は、

a = hoge1
b = hoge2
c = hoge3

となる。