기본적으로 Swift의 기본적인 데이터 타입에는
이 있다. swift는 다른 데이터간의 자료교환이 굉장히 까다롭다. 예기치 못한 일들을 미연에 방지하기 위해 굉장히 까다롭게 설계해 놓았다.
var someBool: Bool = true
someBool = false
someBool = 1 // error - Bool타입에 Int값을 할당했기 때문에 오류발생
위의 예시처럼 Bool타입에 Int타입 값을 할당하면 오류가 발생한다. (C와 다름)
64비트 정수형 타입이다. 양수, 음수, 0 모두 포함한다.
var someInt: Int = 100
someInt = 100.1 // error - Int타입에 Double값을 할당했기 때문에 오류발생
마찬가지로 Int타입에 Double타입의 값을 할당하려고 하면 오류가 발생한다.
Unsinged Int. 64비트 양의 정수형이다.
var someUInt: UInt = 100
someUInt = -100 // error - 음수를 할당하면 오류발생
부동소수형 32비트 타입이다.
var someFloat: Float = 3.14
부동소수형 64비트 타입이다.
var someDouble: Double = 3.14
someFloat = someDouble // error - 마찬가지로 Float와 Double의 교환은 안됨
유니코드로 표현할 수 있는 모든 문자를 넣을 수 있다.
var someCharacter: Character = "가"
someCharacter = "가가가" // error - 한 글자가 아님
다만 Character는 한 글자만 표현 가능하다
var someString: String = "하하하"
someString = someString + "안녕하세요"
someString = someCharacter // error
문자열은 Character와 달리 여러 문자를 표현할 수 있다. 그 뿐만 아니라, + 을 통해 문자열을 합칠 수 도 있다. 하지만, 동일하게 String과 Character의 자료교환은 불가능하다.