Swift 문법 정리 #2

5510 단어 swiftiOSiOS

출처: 애플 공식 Swift 레퍼런스

Multiline String

Swift에서는 여러 줄을 포함하는 String 값을 선언하기 위해 """ 를 사용한다.

let quotation = """
"Was it a cat I saw?",
Alice said.
"""

어디서 많이 본 것 같은 표현이라고 생각했는데, Python에서도 비슷한 방법(''')으로 표현하고 있었다. 사실 Python에서는 다중 주석으로 더 유명한 것 같다. 최근에 알게 된 사실인데, Python에서도 원래는 주석이 아니라 String 값을 선언하는 방식이라고 한다.

만약 IDE에서만 여러 줄로 보이고, 실제 값은 한 줄로 하고 싶을 경우 아래과 같이 백슬래시를 통해 구현할 수 있다.

let softWrappedQuotation = """
"Was it a cat I saw?", \
Alice said.
"""

Empty String

공백 String은 아래와 같이 표현할 수 있다. 공백 문자열 값을 할당하여 표현할 수도 있고, String() 생성자를 통해서 할당할 수도 있다.

var emptyString = ""
var anotherEmptyString = String()

그리고 String이 비어있는지는 empty 메소드를 통해 판단할 수 있다.

print(emptyString.isEmpty)

String Mutability

Swift의 String은 변수로 선언한 경우, 변형이 가능하다.

var variableString = "Horse"
variableString += " and carriage"

String의 타입

Swift에서 String의 타입은 value이다. 따라서 함수 혹은 메소드를 통해 String이 전달되는 경우, 즉 String 자료형을 복사하는 경우 참조가 아닌 실제 값이 복사(깊은 복사)된다.

var origin = "origin"
var copied = origin
origin = "modified"
print(copied) // Deep copy

Character와 String

Swift에서 String을 구성하는 각 Character를 접근하기 위해 for-ln loop를 사용할 수 있다. 그리고 Character의 경우 자료형을 명시해주어여 Character로써 사용할 수 있으며, 쌍따옴표를 사용해주어야 한다.

for character in "Dog!" {
    print(character)
}

let exclamationMark: Character = "!"

String은 Character 배열을 통해서도 생성할 수 있다. 이 경우 String()에 인자로 배열을 전달해주면 된다.

let catCharacters: [Character] = ["C", "a", "t"]
let catString = String(catCharacters)

그리고 String 변수에 append() 메소드를 통해 Character 값을 추가할 수 있다.

var welcome = "Welcome"
welcome.append("!") // Welcome!

좋은 웹페이지 즐겨찾기