-
Swift - Character, String, Bool Data TypeProgramming/Swift 2020. 9. 19. 20:05
오늘은 지난 포스팅에 이어 Data Type에 대해서 공부하겠습니다.
String (문자열)
상수나 변수에 문자열을 저장하고 싶다면 String Literal(문자열 리터럴)을 사용해야 합니다.
String Literal은 "Hello Swift"와 같이 문자열을 ""(DoubleQuote)로 감싸면 됩니다.
Swift에서는 문자의 기본 Type을 모두 String으로 타입 추론을 합니다.
Character (문자)
문자는 1글자로 이루어진 문자입니다.
String과 마찬가지로 String Literal을 사용해야 합니다. 대신 한 글자로 이루어진 String Literal을 사용하지 않으면 에러가 발생하게 됩니다.
그렇다면 1글자만 상수나 변수에 저장하면 될까요?
1글자도 스위프트에서는 문자열로 타입 추론을 합니다.
Character Type을 사용하고 싶다면 직접 타입 지정을 해야 합니다.
한 글자를 넘어가게 되면 에러가 발생합니다.
Empty String, Empty Character
빈 문자열과 빈문자를 생성하는 방법이 대해서 공부하겠습니다.
둘의 차이를 아시겠나요? Empty String은 공백 없이 ""이고 Empty Character는 공백을 포함해서 " "입니다.
만약 String에서 공백을 추가하여 " " 로 저장한다면 빈 문자열이 아닌 공백을 가진 문자열이 됩니다.
Bool
Bool은 Boolean의 약자로 참 또는 거짓을 나타냅니다.
Bool Type은 Boolean Literal인 true, false를 사용하면 스위프트가 Bool로 타입 추론을 해줍니다.
.toggle() 메서드나 !연산자를 이용하면 저장한 결과를 바꿀 수 있습니다.
둘의 차이점은 상수로 선언을 한 값은 .toggle()메서드를 이용해서 값을 바꿀 수 없습니다.
하지만 !연산자를 앞에 사용하면 상수도 에러가 발생하지 않고 값을 바꿀 수 있습니다.
스위프트에서 Bool type이 다른 언어들과 다른 점은 true와 false를 다른 문자가 대체하지 못합니다.
1이 true를 의미하는 언어들이 있지만 스위프트에선 에러가 발생합니다.
참고자료
https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html
- https://www.freepik.com/free-vector/3d-isometric-alphabet-design-letter-typography-abc-set-character-geometric-typo-sign_10601758.htm#page=3&query=letter&position=11 [본문으로]
- https://www.freepik.com/free-vector/3d-isometric-alphabet-design-letter-typography-abc-set-character-geometric-typo-sign_10601758.htm#page=3&query=letter&position=11 [본문으로]
728x90'Programming > Swift' 카테고리의 다른 글
Swift - Operator 기본 (0) 2020.09.28 Swift - Type Safety, Type Alias, Type Conversion, Type Casting (0) 2020.09.20 Swift - Number Data Type (0) 2020.09.19 Swift - Type Annotation, Type Inference (0) 2020.09.16 Swift - Naming Convention (0) 2020.09.16