🔥 문자열 보간법

308자
4분

Swift는 문자열 보간법(String Interpolation)을 통해 문자열 리터럴 내에 상수, 변수, 리터럴 및 표현식의 값을 포함시켜 새로운 String 값을 생성하는 방법을 제공해요. 문자열 보간법은 한 줄 문자열 리터럴과 여러 줄 문자열 리터럴 모두에서 사용할 수 있답니다. 문자열 리터럴에 항목을 삽입할 때는 백슬래시(\)로 시작하는 괄호 쌍으로 각 항목을 묶어요.

예를 들어 봅시다:

let multiplier = 3
let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"
// message는 "3 times 2.5 is 7.5"
swift

위의 예제에서 multiplier의 값은 \(multiplier)로 문자열 리터럴에 삽입했어요. 문자열 보간법이 실제 문자열을 만들기 위해 평가될 때 이 자리 표시자는 multiplier의 실제 값으로 대체된답니다.

문자열의 뒷부분에서 multiplier의 값은 더 큰 표현식의 일부로도 사용했네요. 이 표현식은 Double(multiplier) * 2.5의 값을 계산하고 결과(7.5)를 문자열에 삽입해요. 이 경우 문자열 리터럴 내부에 표현식을 포함시킬 때는 \(Double(multiplier) * 2.5)로 작성했습니다.

확장된 문자열 구분 기호를 사용하면 문자열 보간법으로 처리되는 문자가 포함된 문자열을 만들 수 있어요. 예를 들면:

print(#"Write an interpolated string in Swift using \(multiplier)."#)
// "Write an interpolated string in Swift using \(multiplier)."를 출력합니다.
swift

확장된 구분 기호를 사용하는 문자열 내에서 문자열 보간법을 사용하려면 백슬래시 뒤의 '#' 기호 수를 문자열의 시작과 끝에 있는 '#' 기호 수와 일치시키세요. 예를 들면:

print(#"6 times 7 is \\#(6 * 7)."#)
// "6 times 7 is 42."를 출력합니다.
swift

문자열 보간법은 동적으로 문자열을 구성할 때 매우 유용하답니다. 이를 통해 코드의 가독성을 높이고 문자열 조합 실수를 줄일 수 있죠.

문자열 보간법을 활용하면 이렇게 멋진 ASCII 아트도 만들 수 있습니다:

let name = "Swift"
let age = 8
let message = """
  Happy Birthday, \(name)!
   __   __
  /__\\\\ /__\\\\
 /(__)\\\(__)\\\\
  \\\\##/  \\\\##/
   \\\\/    \\\\/
  \(age) candles for you!
"""
print(message)
swift
  Happy Birthday, Swift!
   __   __
  /__\\ /__\\
 /(__)\(__)\\
  \\##/  \\##/
   \\/    \\/
  8 candles for you!
text

이렇게 Swift의 문자열 보간법을 활용하면 문자열을 더욱 쉽고 간결하게 조합할 수 있습니다. 문자열 보간법은 코드의 가독성을 높여주고 문자열 처리에 유연성을 제공하므로 적극적으로 활용해보시기 바랍니다.