君(Kotlin)は僕(Swift)に似ている

  • 18
    いいね
  • 3
    コメント
この記事は最終更新日から1年以上が経過しています。

君(Kotlin)は僕(Swift)に似ている

こちらはKotlinアドベントカレンダーの17日目の記事です。
最近Swiftがすごく勢いがあるということで、Kotlinと比較してみることにしました

コメント

コメントの形式は全く同じ!

  • Swift
// 1行コメント

/*
 * 複数業コメント
 */
  • Kotlin
// 1行コメント

/*
 * 複数業コメント
 */

変数/定数

valとletが違うぐらいで、おおよそ似てますね。

  • Swift
// 変数
var christmas = "2014/12/25"

// 定数
let dinner = "のりべん"
  • Kotlin
// 変数
var christmas = "2014/12/25"

// 定数
val dinner = "のりべん"

クラス/メソッド

なんとKotlinはイニシャライザがクラス宣言時に盛り込まれている!

  • Swift
class Person {

    var name
    var age

    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }

    func outputMessage() {
        println("クリスマス爆発しろ!")
    }
}
  • Kotlin
class Person(name : String, age : Int) {
   val name = name
   val age = age

   fun outputMessage() {
       Log.v(TAG, "クリスマス爆発しろ!");
   }
}

usage

イニシャライザから呼び出しまで全く同じ

  • Swift
var person = Person("もあい", 23)
person.outputMessage() // -> クリスマス爆発しろ!
  • Kotlin
var person = Person("もあい", 23)
person.outputMessage() // -> クリスマス爆発しろ!

for文

めちゃくちゃ似ている

  • Swift
for arg in args {
    println(arg)
}
  • Kotlin
for(arg: Type in args) {
    println(arg)
}

タプル

ほぼ一緒!・・ではない

@ngsw_taro さんの指摘よりタプルは廃止になったとのことなので、
Pairによる生成に変更しました -> 2014/12/18
  • Swift
("left", "right")
  • Kotlin
Pair("left", "right")

終わりに

SwiftもKotlinもいつもコソコソ書いてるんですが、書いてて全然違和感なく

Swift⇄Kotlinに移れます。

まあ正直最近のモダンと言われてる言語は機能が均一化してきているので

書き易い文法に統一されていくのは当たり前かもしれませんね。

SwiftやっててAndroid/Javaに興味有る方はKotlinおすすめです!

みんなで良いKotlinライフを送ろう!