Swift의 기본 데이터 타입
- Bool
- Int, UInt
- Float, Double
- Character, String
1. Bool
true와 false 만을 값으로 가지는 타입으로, C언어와 다르게 0 또는 1로도 표현 할 수 없다
var someBool: Bool = true
someBool = false
someBool = 0 // 컴파일 오류발생
someBool = 1 // 컴파일 오류발생
2. Int, UInt
- Int : 정수 타입, 64비트의 정수형
var someInt: Int = -100
someInt = 100.1 // 다른 타입의 수를 넣으면 컴파일 오류 발생
- UInt : 양의 정수 타입, 64비트 양의 정수형
var someUInt: UInt = 100
someUInt = -100 // 음의 정수는 갖지 못하는 타입이기에 컴파일 오류 발생
someUInt = someInt // 서로 다른 타입이기 때문에 컴파일 오류 발생 (Cannot assign value of type)
3. Float, Double
- Float : 실수 타입, 32비트 부동소수형
var someFloat: Float = 3.14
someFloat = 3
- Double : 실수 타입, 64비트 부동소수형
var someDouble: Double = 3.14
someDouble = 3
someDouble = someFloat // 서로 다른 타입이기 때문에 컴파일 오류 발생
4. Character, String
- Character : 문자 타입, 유니코드 사용, 큰따옴표(" ") 사용
var someCharacter: Character = "A"
someCharacter = "👸"
someCharacter = "가"
someCharacter = "으하하항" // 컴파일 오류 발생! 문자열은 담을 수 없음
print(someCharacter)
으하하항
- String : 문자열 타입, 유니코드 사용, 큰따옴표(" ") 사용
var someString: String = "으하하항 😀"
someString = someString + "웃으면 행복해용"
someString = someCharacter // 컴파일 오류 발생
print(someString)
으하하항 😀웃으면 행복해용
5. 생각해보기
다음 코드에서 integer, floatingPoint, apple 상수는 각각 어떤 타입이 될까?
let integer = 100
let floatingPoint = 12.34
let apple = "A"
let integer: Int = 100
let floatingPoint: Float = 12.34
let apple: Character = "A"
라고 생각했으나 print(type(of: ))로 확인해보니 integer는 Int, floatingPoint는 Double, apple은 String이었다!
즉.. 자동으로 배정하는 건 메모리 낭비가 될 수 있으니 가능한 타입 명시해서 사용하는 게 바람직 할 듯?
정리
- Swift의 기본 데이터 타입에는 Bool, Int, UInt, Float, Double, Character, String 정도가 있다
- Bool : true와 false만을 값으로 가지는 타입이며, 0과 1로 표현할 수 없다 (컴파일 오류)
- Int : 정수 타입, 64비트 정수형
- UInt : 양의 정수 타입, 64비트 양의 정수형
- Float : 실수 타입, 32비트 부동소수형
- Double : 실수 타입, 64비트 부동소수형
- Character : 문자 타입, 유니코드 사용, 큰따옴표(" ") 사용
- String : 문자열 타입, 유니코드 사용, 큰따옴표(" ") 사용
2022.02.23 - [Study/Swift_BoostCourse_Basic] - iOS 프로그래밍을 위한 스위프트 기초
'[Non-Updated] iOS > Swift_BoostCourse_Basic' 카테고리의 다른 글
[Swift_BoostCourse_Basic] CH 1_06. 컬렉션 타입(Array, Dictionary, Set) (0) | 2022.02.24 |
---|---|
[Swift_BoostCourse_Basic] CH 1_05. Any, AnyObject, nil (0) | 2022.02.23 |
[Swift_BoostCourse_Basic] CH 1_03. 상수와 변수 (0) | 2022.02.23 |
[Swift_BoostCourse_Basic] CH 1_02. 명명법 / 콘솔로그 / 문자열 보간법 (0) | 2022.02.23 |
iOS 프로그래밍을 위한 스위프트 기초 (0) | 2022.02.23 |