반응형
오늘은 Kotlin 의 String Literal 에서 사용되는 Escape 규칙에 대해서 정리해 보겠습니다.
1. Escape
Kotlin String Literal 에서 Escape는 "\" 를 이용해주면 되는데요.
원래는 그냥 사용하면 제대로 전달이 안되지만,
아래와 같이 사용해주면 그대로 전달될 수 있습니다.
특히나 따옴표(Single Quote)나 쌍따옴표(Double Qoute) 같은 경우 꼭 알아두어야 합니다.
기호 | 의미 |
\" | Double quote |
\' | Single quote |
\\ | Backslash |
\n | Newline |
\r | Carriage return |
\t | Tab |
2. Raw strings
Raw Strings 는 이름 그대로 Raw하게,
escape 기호의 도움 없이도 모든 기호를 사용할 수 있도록 도와줍니다.
아래와 같은 긴 SQL문을 쓸 때 특히 도움이 됩니다.
val rawSql = """
SELECT customer_id, SUM(amount) AS total_spent
FROM orders
WHERE date >= '2020-01-01' AND date <= '2020-12-31'
GROUP BY customer_id
HAVING total_spent > (
SELECT AVG(amount)
FROM orders
WHERE date >= '2020-01-01' AND date <= '2020-12-31'
)
ORDER BY total_spent DESC
"""
하지만 Raw String을 사용할 때 주의해야 하는 것이 있습니다.
이 방법을 사용하면, escape 자체가 전혀 않되기 때문입니다.
만약 String에,
서버와의 통신에 필요한 의도적 escape가 들어가는 경우는 Raw Strings을 사용할 때 주의가 필요합니다.
728x90
'Android 개발 > Kotlin' 카테고리의 다른 글
MapNotNull 과 MapNotNullTo 에 대한 정리 # null 제거 (0) | 2023.05.24 |
---|---|
List 아이템 부분추출 함수 정리 # take, takeWhile, takeLast, drop, slice, first and last (0) | 2023.05.15 |
compareBy 와 min 그리고 sortedWith 사용방법에 대한 정리 (0) | 2023.05.10 |
any , contains, none , all, containsAll 에 대한 정리 # Kotlin list 존재여부 확인 (1) | 2023.05.06 |
Destructuring declaration 에 대해 알아보자 # 구조분해 선언 Kotlin (0) | 2023.05.01 |
Kotlin GroupBy 구현과 정리 # List 그룹핑 (0) | 2023.04.28 |
getOrNull 과 getOrElse 에 대한 정리 # List Kotlin (0) | 2023.04.28 |
Kotlin Pair 와 Map 함수 이용해서 데이터 가공하기 (0) | 2023.04.26 |
Kotlin custom getter 와 setter 구현하기 (0) | 2023.04.11 |
isNullOrEmpty 와 isNullOrBlank 의 차이점 # Kotlin (0) | 2023.04.09 |
댓글