28

Yahoo! JAPANとKotlin

Embed Size (px)

Citation preview

Page 1: Yahoo! JAPANとKotlin
Page 2: Yahoo! JAPANとKotlin
Page 3: Yahoo! JAPANとKotlin
Page 4: Yahoo! JAPANとKotlin
Page 5: Yahoo! JAPANとKotlin
Page 6: Yahoo! JAPANとKotlin
Page 7: Yahoo! JAPANとKotlin

//

val square: (Int) -> Int = { it * it } square(2) //-> 4

//

fun sort(algorithm:(Int, Int) -> Boolean) { //... } sort { first, second -> first < second }

Page 8: Yahoo! JAPANとKotlin
Page 9: Yahoo! JAPANとKotlin

//null

var notNullable:String = "world" notNullable = null //

//null

var nullable:String? = "hello" nullable = null

// if ?

println(nullable?.capitalize())

Page 10: Yahoo! JAPANとKotlin
Page 11: Yahoo! JAPANとKotlin

fun String.twice() = "${this}, ${this}"

println("hello".twice()) // -> hello, hello

Page 13: Yahoo! JAPANとKotlin
Page 14: Yahoo! JAPANとKotlin
Page 15: Yahoo! JAPANとKotlin
Page 17: Yahoo! JAPANとKotlin
Page 18: Yahoo! JAPANとKotlin
Page 19: Yahoo! JAPANとKotlin
Page 20: Yahoo! JAPANとKotlin
Page 21: Yahoo! JAPANとKotlin
Page 23: Yahoo! JAPANとKotlin
Page 24: Yahoo! JAPANとKotlin

private fun startLongAsyncOperation(v: Int) = CompletableFuture.supplyAsync { Thread.sleep(1000) "Result: $v" } fun main(args: Array<String>) { val future = async<String> { (1..5).map { await(startLongAsyncOperation(it)) }.joinToString("\n") } println(future.get()) }

// 5Result: 1Result: 2Result: 3Result: 4Result: 5

Page 27: Yahoo! JAPANとKotlin