String Interpolation
작성일
String Interpolation
파일의 크기를 저장한다고 가정.
var str = "12.34KB"
let size = 12.34
str = size + "KB" //에러가 발생(자료형이 다르기 떄문에)
str = String(size) + "KB" //이렇게 사용해야한다.
하지만 보통은,
str = "\(size)KB"
이렇게 사용한다. 문자열을 직관적으로 볼수 있기 때문이다.
자동으로 값이 바뀐다. 하지만 단점은 원하는 포맷을 직접 정하지는 못한다.
Format Specifier
소수점 한자리까지 사용해라. f는 실수를 사용해라.
var str = "12.34KB"
str = String(format: "%.1fKB", size)
출력하면
"12.3KB"
문자는 %@
정수는 %d
실수는 %f
으로 나타낸다.
let firstName = "Yoon-ah"
let lastName = "Lim"
let korFormat = "그녀의 이름은 %@ %@ 입니다."
let engFormat = "Her name is %@ %@."
String(format: korFormat, firstName, lastName)
String(format: engFormat, firstName, lastName)
출력하면
그녀의 이름은 Yoon-ah Lim 입니다.
Her name is Yoon-ah Lim.
이렇게 출력된다.
한국은 이름순서가 뒤바뀌었는데, 이걸 정리를 해보면
let firstName = "Yoon-ah"
let lastName = "Lim"
let korFormat = "그녀의 이름은 %2$@ %1$@ 입니다."
let engFormat = "Her name is %1$@ %2$@."
String(format: korFormat, firstName, lastName)
String(format: engFormat, firstName, lastName)
이렇게 $를 사용해주면 쉽게 바꿀 수 있다.