목차
머리말
들어가기 전에
이전 포스팅 - 상수와 변수(Constants and Variables)
저번 포스팅에서는 Swift의 상수와 변수에 대해 알아 보았다.
이번 포스팅
이번에는 Swift의 다양한 자료형에 대해 알아 보자. 각 자료형의 특징을 살펴 보고 어떠한 문법으로 작성해야 하는지 알아 보자.
자료형(Data types)
자료형은 변수(혹은 상수)를 담는 '그릇'이라 할 수 있다.
같은 음식이라도 어떤 그릇에 담냐에 따라 그 형태가 달라지듯이,
같은 데이터라도 어떠한 자료형에 담냐에 따라 그 값이 달라진다.
자료형의 종류
1. 정수(Integers)
1-1. Int - 64비트 정수
var MtHallaSeaLevel: Int = 1950
print("MtHallaSeaLevel: \(MtHallaSeaLevel)") // MtHallaSeaLevel: 1950
print(type(of: MtHallaSeaLevel)) // Int
1-2. UInt - 64비트 양의 정수
var worldPopulation: UInt = 8000000000
print("worldPopulation: \(worldPopulation)") // worldPopulation: 8000000000
print(type(of: worldPopulation)) // UInt
2. 부동 소수점 숫자(Float-Point Numbers)
Float는 소수점 6번째 자리까지의 정확도를 가진 것에 비해,
Double은 소수점 15번째 자리까지의 정확도를 가진다.
2-1. Float - 32비트 부동 소수점 숫자
var piFloat: Float = 3.1415
print("piFloat: \(piFloat)") // piFloat: 3.1415
print(type(of: piFloat)) // Float
2-2. Double - 64비트 부동 소수점 숫자
var latitudeOfSeoul: Double = 37.532600
print("latitudeOfSeoul: \(latitudeOfSeoul)") // latitudeOfSeoul: 37.5326
print(type(of: latitudeOfSeoul)) // Double
3. 부울(Boolean)
참 또는 거짓을 뜻하는 논리적인 자료형이다.
Swift에서 부울을 나타날 때는 Bool으로 나타낸다.
let isAppleRed = true
let isStrawberryBlue = false
print(isAppleRed) // true
print(type(of: isAppleRed)) // Bool
print(isStrawberryBlue) // false
print(type(of: isStrawberryBlue)) // Bool
4. 옵셔널(Optionals)
옵셔널의 2가지 경우
값(value)이 모호할 때 옵셔널(optionals)을 사용한다. 옵셔널에는 2가지의 경우가 있다.
- 값이 있는 경우. 이 때는 옵셔널을 언래핑(unwrap; 강제 해제)하여 그 값에 접근할 수 있다.
- 아예 값이 없는 경우.
var thisYear = "2023"
var convertThisYearToInt = Int(thisYear) // 타입 변환 시 옵셔널 타입으로 변환된다.
print(thisYear) // 2023
print(type (of: thisYear)) // String
print(convertThisYearToInt) // Optional(2023)
print(type (of: convertThisYearToInt)) // Optional<Int>
옵셔널은 열거형이다? ⭐️
2023-12-27 (수) 추가
옵셔널은 사실 열거형이다. 자세한 내용은 아래 링크 참고.
Swift) 값이 없는 듯 있는 nil의 정체 (feat. 옵셔널은 열거형이다)
4+. nil
위의 옵셔널 변수를 설정하여 따로 할당하지 않은 채 선언하면, nil이라는 특수한 값을 할당 받는다.
nil은 값이 없는 상태를 의미한다.
var statusCode: Int?
print(statusCode) // nil
'iOS > Swift' 카테고리의 다른 글
[Swift] Nil 결합 연산자(Nil-Coalescing Operator) (0) | 2023.04.11 |
---|---|
[Swift] 문자열 리터럴(String Literals) (0) | 2023.04.08 |
[Swift] 기본 연산자(Basic Operators) (0) | 2023.04.06 |
[Swift] OT - 독학 사이트와 강의 모음 (0) | 2023.03.27 |
[Swift] 변수와 상수(Constants and Variables) (0) | 2023.03.08 |
댓글