Closed9

Kotlin初学者メモ

ピン留めされたアイテム
nekoneko

Kotrinイン・アクションの第1部を読んで、
気になるところをKotlin Playgroundで動かしてメモしたもの。
第2部も読むけど、手を動かすのはそういう案件が来た時にでも。

nekoneko

キーワード:名前付き引数

Kotlin イン・アクション 3.2.1

fun main() {
    val a = 10
    val b = 20
    println(mul(x = a, y = b)) // -> 200
}

fun mul(x: Int, y: Int): Int {
    return x * y
}
nekoneko

キーワード:拡張関数, 三項演算子, nullable

Kotlin イン・アクション 3.3

fun String.lastChar(): Char = get(length - 1)
fun main() {
    //val str = "abcde"
    val str = ""
    val lastChar = if (0 < str.length) str.lastChar() else null
    println(lastChar) // -> null
}

他の言語にあるような三項演算子はないのかー。

nekoneko

キーワード:可変長引数, vararg演算子

Kotlin イン・アクション 3.4.2

fun main() {
    val a = 10
    val b = 20
    println(sum(a, b, 30)) // -> 60
}

fun sum(vararg args: Int): Int {
    return args.sum()
}

こういう書き方は多分しないから、使うことはないかな。

nekoneko

キーワード:分解宣言

Kotlin イン・アクション 3.4.3

fun main() {
    val (name, price) = "foo" to 100
    println("$name is ${price}yen") // -> foo is 100yen
}

(ほとんどPerlじゃん!)

nekoneko

キーワード:トリプルクオート文字列

Kotlin イン・アクション 3.5.2

fun main() {
    val str = """¥ is yen mark!"""
    println(str) // -> ¥ is yen mark!
}

便利!

nekoneko

キーワード:プライマリコンストラクタ

Kotlin イン・アクション 4.2

class Person(val name: String)
fun main() {
    val foo = Person(name = "foo")
    println(foo.name) // -> foo
}

こうやってメンバーを定義した場合のアクセス修飾子はどうなるのか気になってたけど、こうなってたのね。

nekoneko

キーワード:object

Kotlin イン・アクション 4.4

object Person {
    val name = "foo"
}

fun main() {
    println(Person.name) // -> foo
}

この辺は、必要になって改めて学ばないと難しいなー。

nekoneko

キーワード:Unit型

Kotlin イン・アクション 6.2.5

なんだこれ?って思ったけど、
もし見かけたらSwiftで言うところのVoidだと思えばコードは読めそう。

このスクラップは13日前にクローズされました