Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- animation
- 콜렉션
- Class
- DART
- import
- python
- crawler
- pushnamed
- 코틀린
- 함수
- kotlin
- 크롤러
- 플러터
- 파이썬
- Collection
- variable
- textstyle
- Flutter
- 다트
- 웹크롤러
- Yocto
- Android
- set
- text
- 클래스
- function
- ML
- map
- package
- List
Archives
- Today
- Total
조용한 담장
[코틀린] Kotlin 아주 기본 살펴보기 본문
코틀린(kotlin) 의 최소한의 문법을 설명하는 Basic Syntax 페이지 훑어보기.
Variables : 변수
변수(variable)는 var, 상수(value)는 val 를 쓴다.
상수는 한번 값을 입력하면 변경이 안되는 변수.
타입은 변수명 : 뒤에 붙는다.
타입은 초기값이 있으면 초기값에 기반에 타입을 지정해주므로 생략이 가능하다.
val a: Int = 1 // 'Int' 타입의 상수 a 의 값은 1
val b = 2 // 상수 b에 값이 숫자 2 이므로 'Int' 타입으로 지정된다.
val c: Int
c = 3 // 초기값이 Int 타입의 상수 c 를 선언한 후에 3을 대입한다.
var x = 5 // 초기값이 5 인 변수 x 는 'Int' 타입으로 지정된다.
x = 1 // 변수 x 의 값을 1로 변경.
String : 문자열
var v = 1
val s1 = "a string"
val s2 = "$s1 and $v" // a string and 1
val s3 = """
abcdef
ghijkl
mnopqr
"""
Function : 함수
fun 키워드를 사용하며 파라미터에는 변수 명 : 타입을 쓰고 리턴 타입을 지정한다.
아래 함수는 Int 타입의 파라미터 a, b 와 Int 타입 리턴값을 가진다.
// fun 함수이름(파라미터의 이름: 파라미터의 타입, ...): 리턴타입 { 함수 바디 }
fun sum(a: Int, b: Int): Int {
return a + b
}
// = 뒤에 오는 표현식은 return 뒤에 오는 것과 같다. 리턴타입은 표현식에 따라 지정된다.
// fun 함수이름(파라미터의 이름: 파라미터의 타입, ...) = 함수 바디
fun sum(a: Int, b: Int) = a + b
// sum(1,2)
아무값도 리턴하지 않으면 Unit 을 리턴 타입으로 사용하거나 생략한다.
fun sum(a: Int, b: Int) : Unit {
print("sum(${a},${b})=${a+b}")
}
fun sum(a: Int, b: Int) : {
print("sum(${a},${b})=${a+b}")
}
fun sum(a: Int, b: Int) = print("sum(${a},${b})=${a+b}")
Program entry point
main 함수를 entry point 로 가진다.
fun main() {
println("Hello world")
}
Comment
// comment a line
/* comment
multiple
lines */
if else
fun maxOf(a: Int, b: Int): Int {
if (a > b) {
return a
} else {
return b
}
}
fun maxOf(a: Int, b: Int) = if (a > b) a else b
null
null 키워드
if (x == null)
if (x != null)
null 값을 가질 수 있는 타입(nullable)은 반드시 명시적으로 표기가 되어야 한다.
fun parseInt(str: String): Int? {
return str.toIntOrNull()
}
if (parseInt("a") == null) { println("a is not a number") }
리턴타입 뒤에 ? 를 붙이면 null 을 가질수도 있는 의미가 된다.
타입 확인
is 연산자로 타입확인.
if (obj is String)
if (obj !is String)
loop
for in
val items = listOf("ab", "bc", "defghi")
for (item in items) {
println(item)
}
while
val items = listOf("ab", "bc", "defghi")
var index = 0
while (index < items.size) {
println("items[$index]=${items[index]}")
index++
}
when
C/C++ 같은 언어의 switch 를 대체한다.
fun describe(x: Int) =
when (x) {
1 -> println("x == 1")
2 -> println("x == 2")
3, 4 -> println("x == 3 or x == 4")
else -> println("x is neither 1 nor 2")
}
fun main() {
describe(1)
describe(2)
describe(3)
describe(5)
}
Ranges
.. 키워드로 특정 범위의 값을 표현식에 사용할 수 있다.
if (2 in 1..3) {
println("4 is in range")
}
val y = 3
if (5 !in 1..y+1) {
println("5 is out of range")
}
for (x in 1..3) {
print(x)
}
// 123
println()
for (x in 1..10 step 2) {
print(x)
}
// 13579
package
다른사람이 만들어놓은 패키지를 가져다 쓸땐 import 를 사용한다.
import kotlin.text.*
'kotlin' 카테고리의 다른 글
[코틀린] Kotlin : Control Flow (0) | 2019.12.31 |
---|---|
[코틀린] Kotlin : packages (0) | 2019.12.31 |
[코틀린] Kotlin : 기본 변수의 타입 살펴보기 - 2 (0) | 2019.12.31 |
[코틀린] Kotlin : 기본 변수의 타입 살펴보기 - 1 (0) | 2019.12.31 |
[코틀린] Kotlin 공부시작 (0) | 2019.12.31 |
Comments