24
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-12-17

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

24
19
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?