Coding Log


Kotlin

본 카테고리는 2017년 Android 공식 언어로 채택된 Kotlin에 관하여 다룬다.

Kotlin을 이용해 개발하는 Android는 추후 따로 다루기로 하고 언어 자체에만 집중한다.

참고 kotlin 공식 사이트

기본 자료형 - 문자열

Kotlin에서 문자열은 String 타입으로 표현한다.

참고 Java와 마찬가지로 Kotlin에서의 String 은 불변(immutable) 타입이다.

문자열은 말 그대로 문자들의 나열이므로 배열처럼 index를 통해 접근할 수 있다.

아래의 코드에 그 예시가 있다.

val s = "abcdef"
print(s[1])

또한 for-loop 로 문자열을 탐색할 수 있다.

for (c in str) {
  println(c)
}

문자열 리터럴

Kotlin에서 두 가지 유형의 문자열 리터럴이 존재한다.

이스케이프 처리된 문자열과 raw 문자열로 나뉘며, 이스케이프 처리된 문자열 같은 경우엔 Java와 굉장히 흡사하다.

아래의 예시를 보자.

val s = "Hello, world!\n"

이스케이프 처리의 경우 역슬래시(\)를 사용하는 일반적인 프로그래밍 언어처럼 처리된다.

참고 이스케이스 시퀀스 목록은 기본자료형 - 문자 포스팅에 작성되어 있다.

raw 문자열은 세 개의 큰 따옴표(""")로 구분된다.

raw 문자열은 이스케이프 처리는 할 수 없지만 newline과 개행 문자 등 모든 다른 문자를 포함할 수 있다.

val text = """
    for (c in "foo")
        print(c)
"""

trimMargin()를 사용하여 앞쪽의 공백을 제거 할 수 있다.

val text = """
    |Tell me and I forget.
    |Teach me and I remember.
    |Involve me and I learn.
    |(Benjamin Franklin)
    """.trimMargin()

| 문자를 사용하여 기본 여백의 접두사를 표기하지만 다른 문자를 선택하여 매개 변수로 전달할 수 있다.

val text = """
    >Tell me and I forget.
    >Teach me and I remember.
    >Involve me and I learn.
    >(Benjamin Franklin)
    """.trimMargin(">")

참고 trimMargin API

문자열 템플릿

문자열은 템플릿 표현식을 포함하여 작성할 수 있다.

즉 코드에 정의된 값들을 다른 문자열에 연결하여 저장할 수 있음을 말한다.

템플릿 표현식은 달러($)문자를 사용하여 표기한다.

아래의 코드를 보자.

val i = 10
val s = "i = $i" // evaluates to "i = 10"

i에 저장된 값인 10을 $i에 주입하여 i = 10으로 조립한다.

중괄호를 사용한 또 다른 코드를 보자.

val s = "abc"
val str = "$s.length is ${s.length}" // evaluates to "abc.length is 3"

이렇게 편리한 문자열 템플릿은 이스케이프 처리된 문자열과 raw 문자열 두 가지 모두 적용이 가능하다.

단 raw 문자열에 작성하고 싶다면 아래와 같이 작성해야 한다.

val price = """ ${'$'}9.99

"""


DISQUS 로드 중…
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다