문자열 삽입 (String interpolation)은 상수, 변수, 리터럴, 그리고 문자열 리터럴에 값이 포함된 표현식을 혼합해 새로운 String 값을 생성하는 방법이다.
문자열 삽입은 한줄과 여러줄 문자열 리터럴에서 사용할 수 있다.
문자열 리터럴에 추가하는 방법은 역슬래시 (\) 접두사에 소괄호를 감싸서 추가한다.
let multiplier = 3
let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"
// message is "3 times 2.5 is 7.5"
위의 예제에서 multiplier 의 값은 \(multiplier) 로 문자열 리터럴 안에 삽입된다.
문자열 삽입이 실제 문자열이 생성될 때 multiplier 의 실제 값으로 대체된다.
multiplier 의 값은 문자열에 표현식의 일부이기도 하다.
이 표현식은 Double(multiplier) 2.5 의 값을 계산하고 문자열에 결과 (7.5) 를 삽입한다.
이 경우 표현식은 문자열 리터럴에 포함될 때 \(Double(multiplier) 2.5) 로 작성한다.
확장된 문자열 구분기호를 사용하여 문자열 삽입으로 사용할 문자를 포함하는 문자열을 생성할 수 있다.
print(#"Write an interpolated string in Swift using \(multiplier)."#)
// Prints "Write an interpolated string in Swift using \(multiplier)."
확장된 구분기호를 사용하는 문자열에서 문자열 삽입을 사용하기 위해 문자열의 시작과 끝에 숫자 기호의 개수만큼 역슬래시 다음에 숫자 기호를 넣어주면 된다.
print(#"6 times 7 is \#(6 * 7)."#)
// Prints "6 times 7 is 42."
Note:
소괄호 안에 작성한 표현식에 삽입된 문자열은 역슬래시 (\), 캐리지 리턴, 또는 개행을 포함할 수 없다.
그러나 다른 문자열 리터럴은 포함할 수 있다.