오늘은 String Interpolation에 대해서 써볼까 한다.
String Interpolation 즉 문자열 보간법은 다른 타입을 문자열로 변환시키는 방법을 이야기한다.
예를 들어보자면
var str = "2022 year"
var int = 2023
str = int + " year" // error
위의 연산에서 두 변수 str 와 int 는 타입이 다르기때문에 결국 에러가 나게된다.
이 때 Int 타입인 int를 String 타입으로 바꿔줄 수 있는데 방법은 아래와 같다.
var str = "2022 year"
var int = 2023
str = String(int) + " year"
// 2023 year
이렇게 실수(int)를 문자열로 바꿔주면 연산이 가능한데 이 방법보다 더 간단하게 int를 String으로 바꿔줄 수 있는 방법이 있는데 이를 String Interpolation이라고 한다.
var str = "2022 year"
var int = 2023
str = "\(int) year"
// 2023 year
위의 방법이 String Interpolation이다. String Interpolation은 식을 보다 간편하게 만들어주는 장점이 있으나 formet을 세부적으로 지정 해 줄 수 없다는 단점도 가지고 있는데 예를 들자면 소수점 자리를 세세하게 설정할 수 없다.
이를 해결하기 위한 보다 상세한 포맷팅을 위해선 문자열 생성자와 초맷 지정자를 사용해야 하는데 방법은 아래와 같다.
var str = "55 percnet"
var int = 71.23
String(format: "%.4f percent", int)
// 71.2300 percent
위 코드는 int를 소수점 4자리까지 나타내준다. %.4f 부분에 int가 대입되는 것이며 여기서 숫자 4는 소수점을 몇번째자리까지 표기할 것인지를 의미한다.
이 외에도 다양하게 사용될 수 있는데
String(format: "Hello, %@", "world")
// Hello, world
String(fotmat: %d, 12)
// 12
위와 같이 문자열을 대체하는 %@와 정수를 대체하는 %d를 이용하여 다양한 결과를 만들어낼 수 있다.