View on GitHub

yagom's Swift Basic

야곰의 스위프트 기본 문법 강좌입니다.

Swift의 기본 데이터 타입

클릭하여 이동

소스코드

Bool

truefalse만을 값으로 가지는 타입

var someBool: Bool = true
someBool = false
// someBool = 0 // 컴파일 오류발생
// someBool = 1 // 컴파일 오류발생

Int, UInt

Int

정수 타입. 현재는 기본적으로 64비트 정수형.

var someInt: Int = -100
// someInt = 100.1 // 컴파일 오류발생

UInt

양의 정수 타입. 현재는 기본적으로 64비트 양의 정수형.

var someUInt: UInt = 100
// someUInt = -100 // 컴파일 오류발생
// someUInt = someInt // 컴파일 오류발생

Float, Double

Float

실수 타입. 32비트 부동소수형.

var someFloat: Float = 3.14
someFloat = 3

Double

실수타입. 64비트 부동소수형.

var someDouble: Double = 3.14
someDouble = 3
// someDouble = someFloat // 컴파일 오류발생

Character, String

Character

문자 타입. 유니코드 사용. 큰따옴표(“”) 사용.

var someCharacter: Character = "🇰🇷"
someCharacter = "😄"
someCharacter = "가"
someCharacter = "A"
// someCharacter = "하하하" // 컴파일 오류발생
print(someCharacter)

String

문자열 타입. 유니코드 사용. 큰따옴표(“”) 사용.

var someString: String = "하하하 😄 "
someString = someString + "웃으면 복이와요"
print(someString)

// someString = someCharacter // 컴파일 오류발생

여러줄 문자열은 큰따옴표 세 개 사용.

someString = """
여러줄 문자열을
사용할 수 있습니다.
첫 줄에 겹따옴표 세 개,
마지막 줄에 겹따옴표 세 개를
사용하면 됩니다.
"""

someString = """
겹따옴표 세 개인 줄(첫줄, 끝줄)에서
줄 바꿈을 하지 않으면 오류가 발생합니다.
"""

/*
someString = """오류발생
오류발생"""
*/

생각해보기

다음 코드에서 integer, floatingPoint, apple 상수는 각각 어떤 타입이 될까요? 상상해보고 확인해보세요~!

let integer = 100
let floatingPoint = 12.34
let apple = "A"

힌트 : type(of: )

Any, AnyObject, nil

클릭하여 이동

소스코드

Any

Swift의 모든 타입을 지칭하는 키워드

var someAny: Any = 100
someAny = "어떤 타입도 수용 가능합니다"
someAny = 123.12

Any 타입에 Double 자료를 넣어두었더라도 Any는 Double 타입이 아니기 때문에 할당할 수 없습니다. 명시적으로 타입을 변환해 주어야 합니다. 타입 변환은 차후에 다룹니다

let someDouble: Double = someAny  // 컴파일 오류발생

AnyObject

모든 클래스 타입을 지칭하는 프로토콜

클래스와 프로토콜에 대한 설명은 차후에 합니다

class SomeClass {}

var someAnyObject: AnyObject = SomeClass()

AnyObject는 클래스의 인스턴스만 수용 가능하기 때문에 클래스의 인스턴스가 아니면 할당할 수 없습니다.

someAnyObject = 123.12    // 컴파일 오류발생

nil

없음을 의미하는 키워드

다른 언어의 NULL, Null, null 등과 유사한 표현입니다.

아래 코드에서 someAnyAny 타입이고, someAnyObjectAnyObject 타입이기 때문에 nil을 할당할 수 없습니다.
nil을 다루는 방법은 옵셔널 파트에서 다룹니다.

someAny = nil         // 컴파일 오류발생
someAnyObject = nil   // 컴파일 오류발생

관련문서