@_a_akira AAkira CyberAgent, Inc. Akira Aratani private lateinit var aakira : User data class User(val name: String, val twitterId: String, val githubId: String, val company: String) print("Name : ${aakira.name}”) println("Github Id : ${aakira.githubId}") print("Twitter Id : ${aakira.twitterId}") println("Company : ${aakira.company}") $ whois
Data class • getter, setterはプロパティアクセスで可能 • copy, toString, hasCode, equalsを自動生成 // Java class Hoge { private String foo; private int bar; Hoge(String foo, int bar) { ... } public String getFoo() { return foo; } ... } // Kotlin data class Hoge(var foo: String, var bar: Int)
if, when, for, while • if : Javaとほぼ同じ, 値を返せる => 三項演算子に置き換え可能 • when : switchの進化版(Kotlinにswitchはない) • for : for-eachのみ(Kotlinにfor(int i = 0; i <…)はない) • while : Javaと同じ // if
val hoge = if(foo > bar) 10 else 100 // when val hoge = when(foo) { 0 -> "a" 1 -> "b" else -> "c" } // for for (item in hogeList) { result += item }
Lesson Agenda • Lesson1 : val, var 3 min • Lesson2 : Data class 3 min • Lesson3 : if, when, for, while 5 min • Lesson4 : Null 7 min • Lesson5 : Extension 7 min • Lesson6 : Lambda 10 min