funfib(n: Int): Int {if(n <3){return1}else{returnfib(n -1)+fib(n -2)}}funmain(){for(i in1..30){println(fib(i))}}
FizzBuzz
Kotlin 抛弃了 C 风格 switch,引入了 when 语法,这有点类似于 Haskell 风格的模式匹配。
funfizzbuzz(n: Int): String {returnwhen{
n %15==0->"FizzBuzz"
n %3==0->"Fizz"
n %5==0->"Buzz"else-> n.toString()}}funmain(){for(i in1..100){println(fizzbuzz(i))}}
dataclassPoint(val x: Double,val y: Double){funlength()= Math.sqrt(x * x + y * y)}funmain(){val a =listOf(1,2,3)val b =listOf(1,2,3)val c =Point(30.0,40.0)val d =Point(30.0,40.0)println(a == b)println(c == d)println(null== d)println("len of ${c} is ${c.length()}")}
funmain(){val alist =listOf(1,2,3,4,5)println(alist.map{ x -> x *2})println(alist.map{ it *2})println(alist.filter{ it %2==1})println(alist.reduce{ a, b -> a + b })}