스위프트의 데이터 타입을 선언할 때는 첫 글자가 대문자로 시작하는 대문자 카멜케이스를 사용합니다.
Int와 UInt
Int는 +, - 부호를 포함한 정수를 뜻하며, UInt는 0을 포함한 양의 정수를 표현합니다.
Int와 UInt는 각각 8비트, 16비트, 32비트, 64비트의 형태가 있습니다.
let number: Int = 5
print(Int.max)
// 9223372036854775807
저는 64비트 환경이기 때문에 Int의 Max값이 64비트 Int로 적용된 것을 볼 수 있습니다.
Bool
Bool은 불리언 타입입니다. 참 (true) 또는 (false) 값만 가질 수 있습니다.
var boolean: Bool = true
print(boolean)
// true
boolean.toggle()
print(boolean)
// false
Bool 타입에는 값을 반전시키는 toggle 메소드가 있습니다.
boolean = !boolean 를 통해 값을 반전시키는 것보다 더욱 간편하고 코드 가독성이 좋습니다.
Float과 Double
Float과 Double은 부동소수점을 사용하는 실수이며 부동소수 타입이라고 말합니다.
Double은 64비트, Float는 32비트의 부동소수를 표현합니다.
64비트 환경에서는 Double은 쵀소 15자리의 십진수를 표현하며, Float은 6자리의 숫자까지만 가능합니다.
String
String은 문자열을 뜻합니다.
값의 앞뒤에 큰따옴표를 사용하여 표현합니다.
let name: String = "Alice"
print(name)
print(name.count)
print(name.isEmpty)
//Alice
//5
//false
String도 다음과 같이 여러가지 함수를 지원합니다.
Any, AnyObejct와 nil
Any는 스위프트의 모든 데이터 타입을 사용할 수 있다는 것을 의미합니다.
var anything: Any = "Hello"
anything = 5
anything = 5.0
// 문자열, 정수, 실수 등 모든 타입이 할당될 수 있습니다.
AnyObject는 클래스의 인스턴스만 할당할 수 있습니다.
nil은 '없음'을 나타내는 키워드를 뜻하며, nil인 값에 접근하면 잘못된 메모리 접근으로 인해 런타임 오류가 발생합니다.
일반적으로 변수나 상수는 nil을 가질 수 없는 타입으로 선언되지만, 옵셔널 타입으로 선언하여 nil을 할당할 수 있습니다.
옵셔널 타입을 사용하면 값이 있을수도 있고 없을 수도 있는 상황을 처리할 수 있습니다.
이러한 값을 사용할 때는 항상 nil 여부를 확인해야 하며, 값이 nil일 경우에 대한 처리를 하여 런타임 에러를 방지해야 합니다.
var number: Int?
// Int? 는 옵셔널 타입을 의미하며 Int 또는 nil 타입을 가질 수 있습니다.
// 값을 할당하지 않았기 때문에 초기값은 nil 입니다.
if number != nil {
print("숫자는 \(number)입니다.")
} else {
print("숫자가 없습니다.")
}
// 숫자가 없습니다.
'iOS \ Swift' 카테고리의 다른 글
[Swift] if let vs guard let 에 대해 알아보자 (0) | 2023.06.19 |
---|---|
[Swift] 접근제어 (0) | 2023.06.19 |
[Swift] http request를 통해 data 불러오기 및 사진 업데이트 (0) | 2023.06.18 |
[Swift] UI를 업데이트 하는 방법 (State, ObservedObject) (0) | 2023.06.18 |
[Swift] 변수, 상수 생성 방법 (0) | 2023.06.17 |