KotlinでHello world!!

2018年8月26日

KotlinでHello Worldしてみる。
OSは Mac OS 上に立てたゲストOS のLubuntu バージョンは16.10

①とりあえずJavaをインストール
Oracle’s PPAを追加してからapt-get

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

参考URL
http://kiy271.hatenablog.com/entry/2014/09/05/230624

 

 

②コンパイラをインストール
https://kotlinlang.org/docs/tutorials/command-line.html

curl -s https://get.sdkman.io | bash
ログアウトしてから
sdk install kotlin

③Hello World!!

まずは、Hello.ktを作って
hello.kt

fun main(args: Array) {
    println("Hello, World!")
}

コンパイルして実行。
jarファイルができるので、
いつものjavaコマンドで実行。

kotlinc hello.kt -include-runtime -d hello.jar
java -jar hello.jar

 

できた。

java -jar hello.jar
Hello, World!

sdkmanを使うとHelloWorldまでは、10分くらいでできてしまいますね。
この後はここのチュートリアルなどをして慣れる感じですかね。

 

kotelin HelloWorld 補足1

できたjarの中を見てみると
kotlin/~ というKotelinランタイムのクラスファイルが格納されている。


jar -tvf hello.jar 
    76 Tue Jan 03 11:06:36 JST 2017 META-INF/MANIFEST.MF
   953 Tue Jan 03 11:06:36 JST 2017 HelloKt.class
    29 Tue Jan 03 11:06:36 JST 2017 META-INF/main.kotlin_module
   767 Mon Dec 26 15:28:40 JST 2016 kotlin/ArrayIntrinsicsKt.class
  1296 Mon Dec 26 15:28:40 JST 2016 kotlin/Deprecated.class
  1249 Mon Dec 26 15:28:40 JST 2016 kotlin/DeprecationLevel.class
   730 Mon Dec 26 15:28:40 JST 2016 kotlin/ExtensionFunctionType.class
   405 Mon Dec 26 15:28:40 JST 2016 kotlin/Function.class
   476 Mon Dec 26 15:28:44 JST 2016 kotlin/KotlinNullPointerException.class

これをjarに含めたくない場合は-include-runtimeのオプションを外してコンパイルする。

kotlinc hello.kt -d hello.jar
jar tvf hello.jar 
    76 Tue Jan 03 11:21:24 JST 2017 META-INF/MANIFEST.MF
   953 Tue Jan 03 11:21:24 JST 2017 HelloKt.class
    29 Tue Jan 03 11:21:24 JST 2017 META-INF/main.kotlin_module

kotelin HelloWorld 補足2 Vimでkotlin

vimのkotlin用プラグインをインストール
https://github.com/udalov/kotlin-vim