Swift 기초문법
[레인스톤 iOS] 스위프트 easy하게 배워볼까? - 문자열과 문자(1)
레인스톤
2022. 1. 29. 13:08
반응형
안녕하세요!
iOS개발자로 일하고있는 레인스톤입니다:)
오늘은 문자열과 문자에 대해 알아보겠습니다!
문자열과 문자
- swift의 string은 Foundation 프레임워크의 NSString이 bridge된 타입
- 즉 NSString의 메소드를 String에서 캐스팅 없이 사용 가능
- swift의 string은 값 타입(value type)
- 그래서 string이 다른 메서드로 부터 생성되면 string값이 할당될 때 레퍼런스가 아닌 값을 복사해서 할당
- 즉 다른 메서드에서 할당 받은 문자열은 그 문자열을 수정해도 원본 값이 변하지 않음
문자열 리터럴
문자열은 큰 따옴표로 묶어 표현합니다.
let hello = "설 연휴입니다."
여러줄의 문자열을 사용하고 싶은 경우?
큰 따옴표 3개로 묶어서 사용할 수 있습니다.
let hello = """
설 연휴에도
공부하고 있는
내 인생이
레전드
ㅠㅠㅠ
"""
print(hello)
/*
설 연휴에도
공부하고 있는
내 인생이
레전드
ㅠㅠㅠ
*/
들여쓰기도 가능합니다.
들여쓰기의 기준은 끝나는 지점의 큰따옴표의 위치입니다.
let hello = """
설 연휴에도
공부하고 있는
내 인생이
레전드
ㅠㅠㅠ
"""
print(hello)
/*
설 연휴에도
공부하고 있는
내 인생이
레전드
ㅠㅠㅠ
*/
문자열 리터럴은 특수 문자를 포함할 수 있습니다.
- \" , \' , \r , \n, \u 등 특수 문자 사용이 가능합니다.
let fromTeamLeader = "팀장님이 \"이제 그만 쉬어\" 라고 말했다."
print(fromTeamLeader) // 팀장님이 "이제 그만 쉬어" 라고 말했다.
let dollaSign = "\u{24}"
let blackHeart = "\u{2665}"
print(dollaSign) // $
print(blackHeart) // ♥
백슬래쉬와 괄호를 이용해 상수, 변수, 리터럴 값을 문자열에 추가할 수 있습니다.
let multiplier = 3
let message = "\(multiplier) 곱하기 2.5 는 \(Double(multiplier) * 2.5)"
print(message) // 3 곱하기 2.5 는 7.5
빈 문자열 초기화
var emptyString1 = ""
var emptyString2 = String()
print(emptyString1 == emptyString2)
두 변수의 문자열 값은 같습니다.
var emptyString1 = ""
var emptyString2 = String()
emptyString1 += "새해 복"
emptyString2 = "많이 받으세요"
print(emptyString1, emptyString2) // 새해 복 많이 받으세요
이런 방법으로 문자열을 수정할 수도 있습니다.
+= 변수에 문자열을 더해주는 방법입니다.
= 는 변수에 문자열을 할당해주는 방법입니다.
문자
문자열의 개별 문자를 for-loop를 통해 접근할 수 있습니다.
let numberString = "12345"
for character in numberString {
print(character)
}
/*
1
2
3
4
5
*/
문자를 타입으로 지정해서 상수/변수를 선언할 수도 있습니다.
let questionMark = "?"
let questionMark2: Character = "?"
print(type(of: questionMark)) // String
print(type(of: questionMark2)) // Character
문자열 배열을 이용해 문자열의 초기화 메소드에 인자로 넣어 문자열을 생성할 수도 있습니다.
let charForSayHI: [Character] = ["안", "녕", "하", "세", "요"]
let sayHI = String(charForSayHI)
print(sayHI) // 안녕하세요
문자열과 문자열뿐만 아니라, 문자열에 문자를 결합하는 것도 가능합니다.
let string1 = "설 연휴에도"
let string2 = "공부 중 입니다"
var status = string1 + string2
let exclamationMark: Character = "!"
status.append(exclamationMark)
print(status) // 설 연휴에도공부 중 입니다!
끗!
오늘은 문자열과 문자에 대해 간단히 알아봤습니다.
다음 시간엔 유니코드부터 더 디테일한 내용을 살펴보겠습니다.
반응형