[Swift] 데이터 타입
참조 : Swift 스위프트 프로그래밍 3판 Swift 5, 저자 야곰 (한빛미디어) ,
The Swift Programming Language Swift 5.6 Edition (iBooks)
(https://books.apple.com/kr/book/the-swift-programming-language-swift-5-6/id881256329)
- 데이터 타입
- 프로그램 내에서 다뤄지는 데이터의 종류
- Swift에서 모든 데이터 타입 이름은 첫글자를 대문자로 시작하는 대문자 카멜 케이스 사용
- Int, UInt
- Int : +, - 부호를 포함한 정수
- UInt : 음수를 포함하지 않고, 0을 포함한 양의 정수
- Swift에서 각 진수에 따른 정수 표현법
- 10진수 : 평소와 동일하게 작성
- 2진수 : 접두어 0b를 사용
- 8진수 : 접두어 0o를 사용
- 16진수 : 접두어 0x를 사용
- Bool
- Bool은 불리언 타입
- 불리언 타입은 참(true) 또는 거짓(false)만 값으로 가짐
- Float, Double
- 부동소수점을 사용하는 실수, 부동소수 타입이라고도 함 → 소수점 자리가 있는 수
- Double : 64비트의 부동소수를 표현, 최소 15자리의 십진수를 표현
- Float : 32비트의 부동소수를 표현, 6자리의 숫자까지만 표현이 가능
- Character
- 말 그대로 '문자'를 의미
- 유니코드에서 지원하는 모든 언어 및 특수기호 등을 사용 가능
- String
- 문자의 나열, 문자열을 뜻함
- Character와 마찬가지로 유니코드 9를 사용할 수 있으며, 값의 앞뒤에 큰따옴표(")를 사용하여 표현
- String 타입에는 기본적으로 많은 메서드와 프로퍼티들이 구현되어 있음
- uppercased(), lowercased() : 대/소문자 변환 ,
- isEmpty() : 빈 문자열 확인 ,
- .count : 문자열 길이 ,
- """ ~ """ : 여러줄의 문자열 작성 → 큰따옴표 세 개를 써주고 한줄을 내려써야 함
let hello: String = "Hello"
let name: String = "Kim"
var greeting: String = hello + " " + name + "!"
print(greeting) // Hello Kim!
greeting = hello
greeting += " "
greeting += name
greeting += "!"
print(greeting) // Hello Kim!
- 특수문자(제어문자)
- 문자열 내에서 일정 기능을 하는 특수문자
특수문자 | 설명 |
\n | 줄바꿈 |
\\ | 백슬래시 |
\" | 큰따옴표 |
\t | 키보드의 Tab키 |
\0 | 문자열이 끝났음을 알리는 null |
- Any, AnyObject와 nil
- Any : Swift의 모든 데이터 타입을 사용할 수 있다는 것을 의미, Any로 데이터 타입이 지정되어 있으면 어떤 데이터 타입이든지
상관없이 할당 가능
- AnyObject : Any보다 조금 한정된 의미, 클래스의 인스턴스만 할당 가능
- nil : '없음'을 나타내는 Swift의 키워드, 변수 또는 상수에 값이 들어있지 않고 비어있음을 나타낼 때 사용
- 타입 별칭(typealias)
- Swift에서는 프로그래머가 임의로 데이터 타임에 다른 이름(별칭)을 부여 가능
ex) typealias MyInt = Int
- 튜플(Tuple)
- 타입의 이름이 따로 지정되어 있지 않은, 임의로 프로그래머가 만든 타입
- 지정된 데이터의 묶음
// String, Int, Double 타입을 갖는 튜플
var person: (String, Int, Double) = ("kim", 20, 170.4)
// 인덱스 사용가능
print("이름 : \(person.0), 나이: \(person.1), 신장: \(person.2)")
person.1 = 28 person.2 = 179.3 //값 할당 가능
print("이름 : \(person.0), 나이: \(person.1), 신장: \(person.2)")
'iOS > Swift' 카테고리의 다른 글
[Swift] 타입캐스팅 (0) | 2022.07.03 |
---|---|
[Swift] 옵셔널 체이닝 (0) | 2022.07.01 |
[Swift] Enum(열거형) (0) | 2022.05.14 |
[Swift] Dictionary 와 Set (0) | 2022.05.14 |
[Swift] Swift 기초 (0) | 2022.05.12 |