더북(TheBook)

2.3.1 문자열 템플릿

문자열 리터럴을 정의하는 가장 간단한 방법은 앞에서 본 것처럼 자바와 마찬가지로 큰따옴표(")로 문자열을 감싸는 것이다.

val hello = "Hello, world!"

문자열에 새줄 문자 같은 특수 문자가 들어가면 이스케이프 시퀀스를 사용해야 한다(2.2.5절 문자 타입 Char를 보라).

val text = "Hello, world!\nThis is \"multiline\" string"
println("\u03C0 \u2248 3.14") // π ≈ 3.14

이런 리터럴은 기본적으로 자바 문자열과 같다. 코틀린은 이와 더불어 여러 가지 식에서 문자열을 합성해내는 훨씬 더 강력한 방법을 지원한다. 예를 들어 사용자를 환영하면서 현재 날짜와 시간을 표시하고 싶다고 하자.

import java.util.Date7
fun main() {
  val name = readLine()
  println("Hello, $name!\n Today is ${Date()}")
}

기본적으로 ${}의 중괄호 사이에 넣기만 하면, 어떤 올바른 코틀린 식이든 문자열에 넣을 수 있다. 위 예제의 $name과 같이 이 식이 간단한 변수 참조인 경우에는 중괄호를 생략하고 달러 기호만 붙여도 된다. 이런 기능을 문자열 템플릿(string template)이라고 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.