- 문자열은 "Hello"와 같은 문자의 연속을 의미한다. 문자열은 String 타입으로 표현된다.
- String 컨텐츠는 character 값의 컬렉션을 포함하여 여러 방법으로 접근 가능하다.
- String 타입은 Foundation 모듈의 NSString 클래스와 연결되어 있다. 따라서. Foundation을 import하게 되면 캐스팅없이 바로 NSString의 메서드 접근이 가능하다.
let someString = ""
var someString2 = String()
//다음과 같이 String 타입의 상수와 변수 초기화가 가능하다.
상수 또는 변수의 초기값으로 문자열 리터럴을 사용한다.
let someString = "Some String"
//이 경우 문자열 리터럴로 초기화 되었으므로 상수를 String 타입으로 유추하게 된다.
여러줄의 문자열에 대해 리터럴이 필요한 경우엔 3개의 쌍따옴표를 시작과 끝에 명시하면 가능하다.
let someString = """
Some String is too long
to say something
"""
//다음과 같이 3개의 쌍따옴표 사이에 명시하면 가능하다.
let someString1 = """
Some String is too long \
to say something
Somestring2 is too short \
//여러줄 문자열 리터럴에서 줄바꿈을 원하는 라인 끝에 \를 쓰면 줄바꿈이 가능하다.
"""
let someString1 = """
Some String is too long
to say something
Somestring2 is too short
//여러줄 문자열 리터럴에서 위 아래 공백을 주고 싶다면 다음과 같이 처음 또는 마지막에 빈줄을 추가하면 된다.
"""
if someString.isEmpty {
print("someString is empty")
}
//문자열이 비어있는지의 상태를 isEmpty프로퍼티로 체크할 수 있다.
스위프트에서 String은 값(value) 타입이다. 따라서 String값을 생성하게 된다면 이는 함수 또는 메서드에 전달되때나 대입될 때 사용된다. 특정 String은 변수 또는 상수에 할당되어 제어가 가능하다.
var a = "Horse"
a += " is running"
//변수 a는 최종적으로 Horse is running이 된다.
var b = "Cat"
var c = "Jerry"
c = b
//변수 c는 Cat이 된다.
문자열은 값 타입으로서 각종 상황에 유기적으로 접근 가능하다는 점에서 매우 유용하다. 실제로 유저가 가장 쉽사리 접하게 되는 값 중 하나이기 때문에, 정확하게 알고 쓴다면 유용할 것이다.