-
Swift - String - Escape sequence, String InterpolationProgramming/Swift 2020. 10. 15. 22:16
오늘은 Escape sequence와 String Interpolation에 대해서 같이 공부해보도록 해요!
Escape Sequence
String Literal에서 \(back slash)를 사용하는 문법을 Escape sequence라고 합니다.
자주 사용하는 Escape sequence를 알아보도록 하겠습니다.
- \n
- \t
- \"
- \\
바로 예시를 보도록 하겠습니다 :)
\n은 줄 바꿈을 하고 싶을 때 사용합니다.
\t는 Tab을 추가해 줍니다. 공백이 추가된게 보이실겁니다.
만약 String Literal에서 "" 또는 \를 사용하고 싶다면 어떻게 해야 할까요?
바로 이렇게 "Hello Beepeach"와 같이 작성하면 에러가 발생합니다.
이유는 "는 짝을 이루기 때문입니다.
지금 코드에서는 Swift는 String Literal을 "Bee said "까지만 인식을 하게 됩니다.
그럼 코드를 수정해 보도록 해요.
이렇게 \" 를 사용하면 문제없이 "를 사용할 수 있습니다.
\는 escape sequence에 사용하는 기호이기 때문에 코드에서 \를 사용하고 싶다면 \\ 이렇게 두 번 적어줘야 합니다.
\과 공백으로 이루어진 escape sequence는 없는 문법이기 때문에 오류가 발생합니다.
이렇게 \ 하나만 쓰게 된다면 escape sequence로 인식하게 됩니다.
그럼 마찬가지로 코드를 수정해보겠습니다!
정상적으로 출력된 것을 확인할 수 있습니다.
String Interpolation (문자열 보간법)
String Literal을 이용하여 출력을 할 때 지금까지는 정적인 String을 출력했습니다.
동적인 String을 출력하고 싶을 때 사용하는 문법이 String Interpolation입니다.
이 부분을 Place holder라고 합니다.
String Literal에 Place holder를 넣어주면 됩니다.
바로 사용 예시를 보도록 할게요!
이렇게 str을 Place holder에 넣어주면 str의 값이 바뀔 때마다 출력되는 결과가 달라집니다.
다른 예시를 보도록 할게요!
덧셈을 수행하는 함수를 선언하고 함수를 호출했습니다.
String Interpolation은 편리하지만 단점도 있습니다.
10 + 20 = 30으로 깔끔하게 출력하고 싶은데??라는 생각이 드시지 않나요??
아니면 결과의 값을 18.55로 두 번째 소수점까지만 출력하고 싶은데..라는 생각이 드실 수 도 있습니다.
String Interpolation을 사용하면 Format을 지정할 수 없습니다.
물론 나중에 extension을 배우고 나면 우리가 지정할 수도 있습니다.
하지만 extension을 이용하지 않고 할 수 있는 방법은 없습니다.
그럼 이때는 어떻게 해야 할까요??
String 생성자와 Format Specifier를 이용하여 Format을 정하는 방법이 있습니다.
다음 포스팅에서는 extension을 이용한 방법과 Format Specifier를 이용한 방법을 같이 공부해 보겠습니다!
참고자료
https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html
728x90'Programming > Swift' 카테고리의 다른 글
Swift - Raw String (0) 2020.10.20 Swift - String Format Specifier (0) 2020.10.16 Swift - String - String의 종류, Multi-line String Literal (0) 2020.10.14 Swift - Tuple Decomposition, Matching (0) 2020.10.13 Swift - Tuple (0) 2020.10.12