데이터 타입은 프로그램 내에서 다뤄지는 데이터의 종류를 뜻한다.
이는 프로그래밍의 기본이 되는 것이라고 생각한다.
스위프트의 기본 데이터 타입은 구조체를 기반으로 Extension,Generic 등을 사용하여 구현되어 있다.
Int와 UInt는 정수 타입을 나타낸다. Int는 양수,음수와 0을 포함하고 있으며, 이 중에서 0과 양수를 UInt로 표현한다.
var integet:Int = -100
let unsignedInteger:UInt = 50
let largeInteger:Int64 = Int64.max //print ::: 9223372036854775807
let largeUnSignedInterger:UInt8 = UInt8.max //print ::: 255
Bool은 참 또는 거직을 가지는 값이다.
var boolean:Bool = true
boolean.toggle() // true - false 반전
let iloveYou:Bool = true
Float과 Double은 부동소수점을 사용하는 실수를 나타낸다. Double은 15자리의 십진수를 표현할 수 있으며, Float은 6자리의 숫자까지만 표현이 가능하다.
var floatValue:Float = 1234567890.1 //print ::: 1.234568e+09
let doubleValue:Double = 1234567890.1 //print ::: 1234567890.1
floatValue = 123456.1 //print ::: 123456.1
Float이 수용할 수 있는 범위를 넘어섭니다.
자신이 감당할 수 있는 만큼만 남겨서 정확도가 떨어진다.
Character는 문자를 의미한다. 단어나 문장이 아닌 단 하나의 글자를 뜻한다. 예를 들어서 "한글"이라는 단어에서 Character로 구분한다면, "한"과 "글"로 구분 지을 수 있는 것이다.
스위프트에서는 영어는 물론, 유니코드를 지원하는 특수기호도 사용할 수 있다.
let alphabetA:Character = "A"
let commandChar:Character = "♥︎"
let 한글:Character = "ㄱ"
print("한글의 첫 자음은 \"\(한글)\"입니다.")
String은 Character의 모음으로 볼 수 있다. 문자열을 나타내기 때문이다. 이를 표현하는 방법은 값의 앞뒤에 큰따옴표를 사용하여 표현한다.
let name:String = "mini"
var introduce:String = String()
introduce.append("제 이름은")
introduce = introduce + " " + name + "입니다."
print(introduce) //print ::: 제 이름은 mini입니다.
let nameCount:Int = name.count //print ::: 4
let isNameEmpty:Bool = name.isEmpty //print ::: false
let hello:String = "Hello"
let mini:String = "mini"
var isSameString:Bool = false
isSameString = hello == "Hello" //print ::: true
isSameString = hello == "hello" //print ::: false
var hasPrefix:Bool = false
var hasSuffix:Bool = false
hasPrefix = hello.hasPrefix("He") //print ::: true
hasSuffix = hello.hasSuffix("O") //print ::: false
var convertedString:String = ""
convertedString = hello.uppercased() //print ::: HELLO
convertedString = hello.lowercased() //print ::: hello
var isStringEmpty:Bool = false
isStringEmpty = convertedString.isEmpty //print ::: false
Any는 스위프트의 모든 데이터 타입을 사용할 수 있다는 뜻이다.
즉, 변수 및 상수에 데잍 타입이 Any로 지정되면 어떤 데이터 타입이든 할당이 가능하다는 것이다.
nil은 '값이 없음'을 나타낸다.
예를 들어서, 통계자료나 다양한 엑셀 형식의 자료에서 셀이 채워져 있지 않는 것으로 생각할 수 있을 것 같다.
여기서 주의할 점은 nil을 할당한 변수나 상수에 접근하게 되면 런타임 오류가 발생하게 된다. 이를 해결하기 위해서 옵셔널을 활용하게 된다. 이와 관련된 내용은 추후 포스팅에서 다룰 예정이다.
var someVar:Any = "mini"
someVar = 50
print(someVar) //print::: 50
참고 : 스위프트 프로그래밍 (저자 - 야곰)