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