소령이와 함께-1.Hello, World!
4706 단어 Kotlin
설명
요즘 Kotlin이 귀여워서 어쩔 수 없어요. 그래서 Kolin에 관해서는 제 머리 정리를 겸하고 싶어요.
이번에는 기본 중의 기본 Hello, World!할 수 있는 곳으로.
이것을 본 사람은 당연히 읽을 수 있다.
비록 이렇게 말하지만μ'S랑 아무 상관 없어요.
그러나'사림'을 듣자마자'사림'이라는 사람도 추천하는 언어가 아니라고 느낀다
전제 조건
다양한 이동 Kotlin을 만들 수 있는 환경은 다음과 같습니다.
항목
컨텐트
OS
MacOS
Homebrew를 사용할 수 있습니다.
JDK
Java8
참고로 JDK는 Java6 이상이면 됩니다.
단계
1. Kotlin 설치
1.1. Homebrew 설치 사용
$ brew install kotlin
설치 작업은 이것뿐입니다.1.2. 설치 확인
$ kotlin -version
Kotlin version 1.2.0 (JRE 1.8.0_152-b16)
Kotlin 1.2.0이 들어있는 것을 확인할 수 있습니다.2. Kotlin 동작 확인 - Hello, World!
2.1. Kotlin 파일 만들기
기본에 충실, Hello, World!에서 설명한 대로 해당 매개변수의 값을 수정합니다.
우선, Kotlin의 코드를 작성하기 위한 파일을 만듭니다.
$ vim HelloKotlin.kt
Kotlin 파일의 확장자는kt입니다.2.2. 함수 만들기
만든 Hello Kotlin.kt에 다음 코드를 기술합니다.
fun main(args: Array<String>) {
println("Hello, Kotlin!")
}
2.2.1. 함수 정보자바에 익숙해지면 갑자기 함수만 만드는 것에 대해 불협화음을 느끼는 사람이 있을 수 있다.Java라면 모든 파일에 클래스를 만들고 클래스에서 방법을 만듭니다.
우선 Kotlin은 함수만 있으면 성립되는 언어라는 것을 기억해야 한다.
2.2.2. fun 정보
main 함수이지만 fun부터 씁니다.
이 fun은 함수를 정의하는 설명 방법입니다.
fun 関数名(パラメータ: パラメータの型): 戻り値の型 {処理内容}
이번main 함수에서는 표준 출력만 하고 반환 값이 없습니다.Java가 말하는void형입니다.Kotlin에서는 유닛형이라고 합니다.이것은 생략할 수 있기 때문에 이번에는 생략했다.
3. 컴파일 및 실행
3.1. JAR 컴파일 및 작성
kotlinc 명령을 사용하여 컴파일합니다.
다음 옵션으로 JAR을 컴파일해 보십시오.
$ kotlinc HelloKotlin.kt -include-runtime -d HelloKotlin.jar
$ ls -l
total 1808
-rw-r--r-- 1 shinyay staff 918546 12 7 08:52 HelloKotlin.jar
-rw-r--r-- 1 shinyay staff 62 12 7 08:33 HelloKotlin.kt
JAR 파일이 생성되었는지 확인합니다.3.2. 실행
생성된 JAR 파일을 실행해 보십시오.
$ java -jar HelloKotlin.jar
Hello, Kotlin!
작업 확인했습니다.3.3. include-runtime 정보
참, 컴파일할 때 include-runtime를 달았어요.이걸 빼서 컴파일하면 어떨까 해서요.
$ kotlinc HelloKotlin.kt -d HelloKotlin.jar
$ ls -l
total 16
-rw-r--r-- 1 shinyay staff 1160 12 7 09:01 HelloKotlin.jar
-rw-r--r-- 1 shinyay staff 62 12 7 08:33 HelloKotlin.kt
$ java -jar HelloKotlin.jar
Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
at HelloKotlinKt.main(HelloKotlin.kt)
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
include-runtime 옵션이 없는 JAR 파일에 ClassNotFoundException이 나타납니다.Kotlin의 런타임 라이브러리를 찾을 수 없습니다.
include-runtime 옵션은 JAR에 Kotlin의 런타임 라이브러리를 포함하는 옵션입니다.
include-runtime 옵션으로 제작된 JAR의 내용을 살펴보겠습니다.
$ jar tvf HelloKotlin.jar
82 Thu Dec 07 09:05:20 JST 2017 META-INF/MANIFEST.MF
988 Thu Dec 07 09:05:20 JST 2017 HelloKotlinKt.class
35 Thu Dec 07 09:05:20 JST 2017 META-INF/main.kotlin_module
483 Mon Nov 27 15:49:42 JST 2017 org/jetbrains/annotations/Mutable.class
546 Mon Nov 27 15:49:42 JST 2017 org/jetbrains/annotations/NotNull.class
548 Mon Nov 27 15:49:42 JST 2017 org/jetbrains/annotations/Nullable.class
485 Mon Nov 27 15:49:42 JST 2017 org/jetbrains/annotations/ReadOnly.class
898 Mon Nov 27 15:49:10 JST 2017 kotlin/jvm/internal/CallableReference$NoReceiver.class
3317 Mon Nov 27 15:49:10 JST 2017 kotlin/jvm/internal/CallableReference.class
2625 Mon Nov 27 15:49:10 JST 2017 kotlin/jvm/internal/CollectionToArray.class
337 Mon Nov 27 15:49:10 JST 2017 kotlin/jvm/internal/DefaultConstructorMarker.class
201 Mon Nov 27 15:49:10 JST 2017 kotlin/jvm/internal/FunctionBase.class
:
:
:
Kotlin에 대한 라이브러리가 있는 것을 확인할 수 있습니다.총결산
Kolin의 설치부터 Hello, World!나오는 데까지 왔다.
어디까지 이어질지 모르겠지만 앞으로 Kotlin을 조금씩 정리하고 싶어요.
Reference
이 문제에 관하여(소령이와 함께-1.Hello, World!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shinyay/items/a4eb0ac60c456b6cc4a4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)