Edited at

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

More than 3 years have passed since last update.


君(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ライフを送ろう!