소프트웨어에서 사용되는 데이터를 메모리에 저장하기위해 변수나 상수를 사용합니다. 변수는 값을 변경할 수 있지만 상수는 변경할 수 없습니다.
변수는 var
키워드를 사용하고 상수는 let
키워드를 사용해서 정의합니다.
var [ 변수명 ]: [ 데이터 타입 ] = [ 값 ]
let [ 상수명 ]: [ 데이터 타입] = [ 값 ]
let name: String = "정석준"
var nickname: String = "dino"
var age: Int = 29
var job = "Mobile App Developer"
//값을 넣어준 경우에는 데이터 타입을 생략할 수 있습니다.
print("저의 이름은 \\(name)(\\(nickname))이고 나이는 \\(age)살이고 \\(job)입니다.")
스위프트의 기본 타입은 모두 struck 기반으로 구현되어 있다.
Int, UInt
정수타입으로 Int는 +. - 부호를 포함한 정수이고 UInt는 - 부호가 없는 양의 정수 입니다.
UInt에 음수 값을 저장하려고 해서 에러가 발생
8비트, 16비트, 32비트, 64비트의 형태가 있고 Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64 형태로 나타낼 수 있습니다.
Int와 UInt는 시스템 아키텍쳐에 따라 범위가 정해집니다.
print("Int 최대값: \\(Int.max), Int 최솟값: \\(Int.min)")
print("Int 최대값: \\(Int8.max), Int 최솟값: \\(Int8.min)")
print("Int 최대값: \\(Int16.max), Int 최솟값: \\(Int16.min)")
print("Int 최대값: \\(Int32.max), Int 최솟값: \\(Int32.min)")
print("Int 최대값: \\(Int64.max), Int 최솟값: \\(Int64.min)")
print("UInt 최대값: \\(UInt.max), Int 최솟값: \\(UInt.min)")
print("UInt 최대값: \\(UInt8.max), Int 최솟값: \\(UInt8.min)")
print("UInt 최대값: \\(UInt16.max), Int 최솟값: \\(UInt16.min)")
print("UInt 최대값: \\(UInt32.max), Int 최솟값: \\(UInt32.min)")
print("UInt 최대값: \\(UInt64.max), Int 최솟값: \\(UInt64.min)")
맥북에서 Int는 Int64로 사용
10진수, 2진수(0b), 8진수(0o), 16진수(0x) 표기법을 지원합니다.
let decimalInteger: Int = 29
let binaryInteger: Int = 0b11101
let octalInteger: Int = 0o35
let hexadecimalInteger: Int = 0x1d
print("\\(decimalInteger), \\(binaryInteger), \\(octalInteger), \\(hexadecimalInteger)")
Bool
Float, Double
실수타입으로 소수점을 나타낼 수 있는 자료형 입니다.
Float은 32비트의 부동소수를 표현하고 Double은 64비트의 부동소수를 표현합니다.
let floatValue: Float = 1234567890.1
let doubleValue: Double = 1234567890.1
print("float: \\(floatValue), double: \\(doubleValue)")
Character
문자를 표현하는 자료형 입니다.
유니코드9를 지원해서 영어와 한글 및 특수기호를 사용할 수 있습니다.
let alphabetA: Character = "A"
print(alphabetA)
let man = "🙍♂️"
let woman = "🙍♀️"
print("man \\(man), woman \\(woman)")
let 한글변수 = "비추천"
print("한글변수는 \\(한글변수)")