Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 5 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ライフを送ろう!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away