일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- javascript
- 코틀린
- 연산자
- 리스트 뷰
- 배열
- 파이썬
- 패널 교체
- var
- ListView
- Python
- 노트북 추천
- node.js
- Array
- 안드로이드
- adapter
- 함수
- js
- 오버로딩
- Android
- Kotlin
- as?
- 싱글 스레드
- 자바
- golang
- HP
- Java
- 자바스크립트
- 노트북
- go
- Overloading
Archives
- Today
- Total
Bbaktaeho
Kotlin(코틀린) 3. 기본 구성 요소와 문법 본문
반응형
이제 예제 코드를 보며 설명하겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 | fun main(args: Array<String>) { println(msg1(1)) println(msg1(2)) println(msg2(1)) println(msg2(2)) } fun msg1(msgNum : Int) : String{ return if (msgNum == 1) "안녕하세요" else "안녕히가세요" } fun msg2(msgNum: Int) = if (msgNum == 1) "안녕" else "잘가" | cs |
(if-else 문은 알고 있을 거라 믿겠습니당ㅎㅎ..)
우선 코틀린에서는 함수를 선언할 때 fun 키워드를 함수 이름 앞에 넣는다. 그리고 함수는 소스코드 파일의 어디는 바로 정의할 수 있다. 그래서 main()에서 msg1(),msg2()를 호출할 수 있다.
함수의 매개변수를 보면 (:)콜론이 있는데 : 앞은 변수의 이름이고 뒤는 변수의 타입이다.
함수의 리턴 타입도 마찬가지로 : 의 뒤쪽이다.
그리고 코틀린은 배열이 Array클래스로 정의되어 있어서 main(args : Array<String>) 에서 Array<String>은 String형의 배열을 나타낸다. 또한 코틀린에서 (;)세미콜론은 생략해도 된다.
단, 두 개 이상의 표현식이 한 줄에 같이 있을 때는 세미콜론을 붙여야 한다.
1 2 3 | fun main(args: Array<String>) { println(msg1(1));println(msg1(2));println(msg2(1));println(msg2(2)) } | cs |
함수의 실행 코드가 하나의 표현식으로만 구성될 때는 몸체를 나타내는 중괄호({})와 반환값 타입을 생략하고 다음과 같이 대입문 형태로 선언할 수 있다.
1 | fun msg2(msgNum: Int) = if (msgNum == 1) "안녕" else "잘가" | cs |
여기서는 if 문이 하나의 표현식으로 수행되고 그 결과는 String 타입이다. 리턴타입을 명시하지 않아도 컴파일러가 추론해준다.
또한, if문은 다음과 같이 변수를 초기화하는 대 입문에도 사용할 수 있다.
1 2 | var number = 0 val a = if (number == 0) "0" else "0이 아닌 수" | cs |
여기서 var, val 를 간단하게 집고 넘어가면 var은 variable, val은 value 라고 생각하면 됩니다.
number 변수는 변할 수 있는 변수이고 a 변수는 초깃값이 변하지 않은 상수를 나타냅니다.
반응형
'프로그래밍 (Programming) > 코틀린 (Kotlin)' 카테고리의 다른 글
Kotlin(코틀린) 6. 다차원 배열 (1) | 2019.01.24 |
---|---|
Kotlin(코틀린) 5. 배열 (0) | 2019.01.24 |
Kotlin(코틀린) 4. 변수와 타입 (0) | 2019.01.24 |
Kotlin(코틀린) 2. IntelliJ IDEA 애플리케이션 작성과 실행하기 (0) | 2019.01.24 |
Kotlin(코틀린) 1.코틀린 개요, 개발 환경 구축 (0) | 2019.01.24 |