iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

知識ゼロからの Kotlin Android アプリリリースへの軌跡 / Day1【とりあえずコード書いてみる編】

この記事でできるもの

  • Kotlin を Mac でとりあえず動かすための環境構築ができる
  • Kotlin を使ってコンソールに文字を出力できる
  • Kotlin を使った基本的な構文がちょっとわかる

手順

  1. JDK(Java Development Kit)のインストール

  2. Kotlin のインストール

  3. VSCode のインストール

JDK のインストール

下記のページの macOS Installer をポチります。ダウンロードできたファイルをクリックしてインストーラーの手順に沿って進めれば JDK のインストールは完了です。

www.oracle.com

Kotlin のインストール

Kotlin を Homebrew を使ってインストールしていきます。ターミナルで下記のコマンドを実行します。 Homebrew のインストールはこちらから行えます。

brew install kotlin

完了したら正常にインストールができてるか下記のコマンドで確認します。

kotlinc -version

VSCode のインストール + 環境構築

下記のページの Mac をポチります。

code.visualstudio.com

ダウンロードできたらアプリを開いて左側のアクティビティバーの一番下の Extension タブを開いて、下記の2つの拡張機能を検索してインストールします。

  • Kotlin Language
    • VSCode に Kotlin のプログラム構文をサポートさせてより快適に開発を行うことができます。
  • Code Runner
    • Kotlin で書いたプログラムを実行することができます。

とりあえずコード書いてみる

まずは Hoge.kt みたいな感じでファイルを作成します。

f:id:yum_fishing:20200801142944p:plain

Kotlin は main()関数からプログラムを実行するので関数を定義します。次に毎度おなじみ Hello world を出力するために処理を書きます。

fun main() {
    println("Hello world")
}

そして、次に実行していきたいところですが拡張機能で追加した Code Runner はデフォルトで kotlinc を使ってエラーが出るらしいので kotlinc-jvm を使えるように設定します。上のバーの [Code] > [基本設定] > [設定] を開いたら上のナビゲーションバーにあるファイルアイコンをクリックして settings.json を開きます。開けたら下記のようにファイルを編集します。 f:id:yum_fishing:20200801144826p:plain

{
    "code-runner.executorMap": {
        "kotlin": "cd $dir && kotlinc-jvm $fileName -include-runtime -d $fileNameWithoutExt.jar && java -jar -Dfile.encoding=utf-8 $fileNameWithoutExt.jar"
    }
}

これで、コードを実行することができるようになったので気を取り直していろいろコードを書いて見ます。

変数

// 定数
val number = 7

// 変数
var count = 0

swift だと定数は let だけど kotlin は val て感じすね。基本的には型推論があるので明示的に宣言したい時以外は大丈夫そうですね。

文字列

val a = 'a'
val helloWorld = "helloWorld"

1文字の時はシングルクウォート2文字以上の時はダブルクウォートって感じでしょうか。

If 文

if (isKotlin) {
    println("This is kotlin")
} else {
    println("This is not kotlin")
}

条件式には swift と違って括弧が必要なんですね。

when 文

when (number) {
  1 -> println("number == 1")
  2 -> println("number == 2")
  3 -> println("number == 3")
  // どれにも当てはまらないなら else が実行される
  else -> {
    print("number is unknown")
  }
}

swift の switch 見たいな感じですね。この文法はいろいろな書き方があって詳しく調べた方が良さそうですね。

For 文

for (item in items) {
  print(item)
}

関数

fun hello(who: String) {
    println("Hello ${who}")
}

hello("Yamato") // Hello Yamato
fun double(x: Int): Int {
  return x * 2
}

val number = double(1)
println(number) // 2

戻り値がある場合はこんな書き方なんだ👨‍💻


基本的な文法や応用などは下記の記事がものすごく参考になりました!

qiita.com

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com