혼자 있고 싶네요. 모두 나가주세요.
[Kotlin]001. 기본 문법 후려치기 - 1 본문
안녕 세계
메서드 구조가 js처럼 간결한 것을 알 수 있다. 앞에 return 형이 없는 것을 보아 유연하게 return 가능한 모양.
args라는 이름의 String 배열을 파라메터로 가져오고, 제일 좋은건 콘솔 출력이 앞에 뭉텅이가 날아갔다. println 개꿀
귀찮았던 문자열 + 문자열 + .. + .....
잠깐 이제보니 세미콜론(;)도 없다;; ㄷㄷㄷ
println("Hello, ${args[0]}!")
은
println("Hello, "+ args[0] + "!")
와 같은 동작을 한다.
제일 중요한 For
향상된 For문의 형식이다. args안의 name이라.. 정말 직관적이다. 게다가 와일드카드 $
로 깔끔한 출력으로 화룡 정점.
추가
for (i in args.indices)
이렇게 사용하면 i가 증가하며 인덱스를 가리킨다.
성격 급한 사람을 위한 빠른 정의가 가능
val language = if (args.size == 0) "EN" else args[0]
보통은 삼항연산자로 ((args.size == 0)? "EN" : args[0])
표현 하였었다. 이 부분은 글쎄... 나는 삼항연산자의 ?가 너무 간결해서 더 좋다. 하지만 당장 두 번 이상의 비교가 필요하다면 if else로 짜는 편이 훨씬 좋을 듯 하다.
when구문은 VHDL에서 사용한 것과 매우 흡사하다. 역시 위의 if else처럼 아무곳이나 갖다 쓸 수 있는 듯 하고, default 치기 귀찮았는데 else로 간결해진 것이 마음에 든다. VHDL에서 처럼 병렬 연산의 의미는 없겠지
클래스 생성과 생성자
val
은 읽기 전용, var
은 읽기/쓰기 가능한 변수를 의미한다.
Greeter라는 class는 멤버 변수에 관한 것이 하나도 없지만, 무려 class Greeter(val name: String, var count: Int)
이 문장만으로 모든 것을 해결해 버렸다. main에서 Greeter(String, Int)
로 객체를 생성하고 .greet
나 .count
로 변수에 접근할 수 있다.
만약 객체를 가지고 있고 싶다면 var temp = Greeter(args[0],0)
와 같은 형식으로 가능 한 것을 확인하였으나, 이 방식이 맞는 것인지는 잘 모르겠다.
위의 코드는 아래의 코드와 동일하다.
'타닥타닥 > Kotlin Extention' 카테고리의 다른 글
[Kotlin]003. Destructuring declarations와 Data classes (0) | 2017.09.26 |
---|---|
[Kotlin]002. 기본 문법 후려치기 - 2 (0) | 2017.09.19 |