수색…
문자열 요소
String 요소는 인덱싱 작업 string[index]
에서 액세스 할 수있는 문자입니다.
val str = "Hello, World!"
println(str[1]) // Prints e
String 요소는 for 루프로 반복 할 수 있습니다.
for (c in str) {
println(c)
}
문자열 리터럴
Kotlin에는 두 가지 유형의 문자열 리터럴이 있습니다.
- 이스케이프 된 문자열
- 원시 문자열
이스케이프 처리 된 문자열 은 이스케이프 처리를 통해 특수 문자를 처리합니다. 이스케이프는 백 슬래시로 수행됩니다. \t
, \b
, \n
, \r
, \'
, \"
, \\
및 \$
와 같은 이스케이프 시퀀스가 지원됩니다. 다른 문자를 인코딩하려면 \uFF00
유니 코드 이스케이프 시퀀스 구문을 사용하십시오.
val s = "Hello, world!\n"
삼중 따옴표 """
구분 된 원시 문자열 은 이스케이프가없고 개행 문자 및 기타 문자를 포함 할 수 있습니다
val text = """
for (c in "foo")
print(c)
"""
선행 공백은 trimMargin () 함수로 제거 할 수 있습니다.
val text = """
|Tell me and I forget.
|Teach me and I remember.
|Involve me and I learn.
|(Benjamin Franklin)
""".trimMargin()
기본 마진 접두사는 파이프 문자입니다 |
trimMargin에 대한 매개 변수로 설정할 수 있습니다. 예 : trimMargin(">")
.
문자열 템플릿
이스케이프 된 문자열과 원시 문자열은 모두 템플릿 표현식을 포함 할 수 있습니다. 템플릿 표현식은 평가되고 그 결과가 문자열로 연결되는 코드 조각입니다. 달러 기호 $
시작하여 변수 이름으로 구성됩니다.
val i = 10
val s = "i = $i" // evaluates to "i = 10"
또는 중괄호 안에있는 임의의 표현식 :
val s = "abc"
val str = "$s.length is ${s.length}" // evaluates to "abc.length is 3"
리터럴 달러 기호를 문자열에 포함 시키려면 백 슬래시를 사용하여 이스케이프합니다.
val str = "\$foo" // evaluates to "$foo"
예외는 원시 문자열이며 이스케이프를 지원하지 않습니다. 원시 문자열에서 다음 구문을 사용하여 달러 기호를 나타낼 수 있습니다.
val price = """
${'$'}9.99
"""
문자열 평등
Kotlin 문자열은 ==
연산자와 구조적 평등을 비교합니다.
val str1 = "Hello, World!"
val str2 = "Hello," + " World!"
println(str1 == str2) // Prints true
참조 동등성은 ===
연산자로 검사합니다.
val str1 = """
|Hello, World!
""".trimMargin()
val str2 = """
#Hello, World!
""".trimMargin("#")
val str3 = str1
println(str1 == str2) // Prints true
println(str1 === str2) // Prints false
println(str1 === str3) // Prints true