iOS/Swift

데이터 타입 기본

밤새는 탐험가89 2024. 1. 3. 00:00

데이터 타입은 프로그램 내에서 다뤄지는 데이터의 종류를 뜻함 

 

 

 

Int, UInt

정수 타입

Int => +, - 부호를 포함한 정수 

UInt => - 부호를 포함하지 않고, 0은 포함한 양의 정수 

 

Int8, Int32, Int64 등으로 데이터 크기에 따라 타입 분류

 

Int와 UInt

var intNumber: Int = 100
var unIntNumber: Int = -100

 

 

 

Bool

불리언 타입

참(true) 또는 거짓 (false)만 값으로 가짐

 

Bool

var truth: Bool = true
print(truth)    // true

truth.toggle()
print(truth)    // false

 

 

 

Float, Double

부동소수점을 사용하는 실수 

부동소수 타입이라고 지칭

정수 타입(Int)보다 더 넓은 범위의 수를 표현

 

Double최소 15자리의 십진수를 표현

Float최대 6자리의 십진수를 표현

 

Float과 Double

var floatNum: Float = 123.1
var doubleNum: Double = 1234567891234.12345

 

 

★ 임의의 숫자 만들기 ★

var randomNumber: Int = Int.random(in:-100...100)

var randomNumberDouble: Double = Double.random(in: -10000000...10000000)

 

 

 

Character

단 하나의 문자를 의미 

 

 

Character

var koreanLetter: Character = "ㄱ"
print("한글의 첫 자음 \(koreanLetter)")    // 한글의 첫 자음 ㄱ

 

 

 

String

문자의 나열, 즉 문자열 의미 

 

String

var name: String = "Steve"


// 이니셜라이저를 통해 빈 문자열 생성 가능 
var emptyName: String = String()
print(emptyName)    // 아무것도 출력되지 않음



// append를 통해 문자열 붙이기 가능 
name.append("는 저의 이름입니다.")

print(name)        // Steve는 저의 이름입니다.



// "+" 연사자를 통해서도 붙이기 가능 
var greeting = name + "만나서 반갑습니다."

print(greeting)    // Steve는 저의 이름입니다.만나서 반갑습니다.

 

 

 

Any, AnyObject, nil

Any: 모든 데이터 타입을 사용

var name: Any = "Steve"
print(name)     // Steve

name = 100
print(name)     // 100

 

AnyObject: Any보다는 한정적으로 클래스의 인스턴스만 할당 

 

nil: 특정 타입이 아닌, "없음"을 의미 

변수 또는 상수에 값이 들어있지 않고 비어있음

 

nil인 상태로 값에 접근할 경우잘못된 메모리 접근이라는 런타임 오류 발생