[Swift 기초 문법] 데이터 타입 기본

Jonghun Kim·2023년 1월 5일
0

데이터 타입은 프로그램 내에서 다뤄지는 데이터의 종류를 뜻한다.
스위프트에서는 모든 데이터 타입 이름은 첫 글자가 대문자로 시작하는 대문자 카멜케이스를 사용한다고 한다.

Int와 UInt

우리가 처음 프로그래밍 언어를 처음 접할 때 볼 수 있는 데이터 타입이다. Int는 +,-,0 값을 표현 할 수 있는 데이터 타입이며 UInt는 오직 0과 +값만을 표현하는 데이터 타입이다.

입력

var integer: Int = -26
let unsignedInteger: UInt = 26

print("integer 값: \(integer), unsignedInteger 값: \(unsignedInteger)")

print("Int 최댓값: \(Int.max), Int 최솟값: \(Int.min)")

print("UInt 최댓값: \(UInt.max), UInt 최솟값: \(UInt.min)")

let largeInteger: Int64 = Int64.max
let smallUnsignedInteger: UInt8 = UInt8.max

print("Int64 최댓값: \(largeInteger), UInt8 최댓값: \(smallUnsignedInteger)")

// Int와 UInt는 다른 타입이므로 형변환을 해주어야 한다.
integer = Int(unsignedInteger)

출력

integer 값: -26, unsignedInteger 값: 26
Int 최댓값: 9223372036854775807, Int 최솟값: -9223372036854775808
UInt 최댓값: 18446744073709551615, UInt 최솟값: 0
Int64 최댓값: 9223372036854775807, UInt8 최댓값: 255

Bool

Bool은 불리언 타입으로 불리며, true, false의 값 만을 가진다.

입력

var testboolean: Bool = true
print(testboolean)

testboolean.toggle()    // true-false 반전
print(testboolean)

let havemoney: Bool = false
let havehope: Bool = true

print("희망을 가지고 있습니까?: \(havehope)")

출력

true
false
희망을 가지고 있습니까?: true

Float, Double

부동소수점을 사용하는 실수형 데이터 타입이다.
Double은 64비트의 부동소수 표현을 하며 Float는 32비트의 부동소수 표현을 한다.
데이터 타입의 표현 범위를 벗어난 데이터는 그 데이터 타입이 감당할 수 있는 값 만큼만 남기므로 정확도가 떨어질 수 있다.


입력

var testfloatValue: Float = 1234567890.1

let testdoubleValue: Double = 1234567890.1

print("floatValue: \(testfloatValue), doubleValue: \(testdoubleValue)")

testfloatValue = 123456.1

print(testfloatValue)

출력

floatValue: 1.234568e+09, doubleValue: 1234567890.1
123456.1

Character

문자를 의미하는 단어로서 문장이 아닌 단 하나의 문자를 표현하는 데이터 타입이다. 스위프트는 유니코드 9의 문자를 사용하므로 왠만한 문자를 사용할 수 있다.

입력

let alphabetA: Character = "A"
print(alphabetA)

let commandCharacter: Character = "❤️"
print(commandCharacter)

let 한글글자 = "ㅈ"
print(한글글자)

출력

A
❤️
ㅈ

String

문자를 나열한 문자열이며, String은 Character와 마찬가지로 유니코드 9를 지원한다.

입력

//상수로 선언된 문자열은 변경불가
let name:String = "Geniewiz"

//이니셜라이저를 사용하여 빈 문자열 생성할 수 있다.
var introduce:String = String()

introduce.append("제 닉네임은")

introduce = introduce + " " + name + "입니다."

print(introduce)

//name 변수에 해당하는 문자의 갯수도 셀 수 있다.
print("name의 글자 수: \(name.count)")

//빈 문자열인지 알아볼 수 있다
print("introduce is empty?: \(introduce.isEmpty)")

출력

제 닉네임은 Geniewiz입니다.
name의 글자 수: 8
introduce is empty?: false

Any, AnyObject와 nil

Any는 스위프트의 모든 데이터 타입을 사용할 수 있다는 뜻으로 사용된다고 한다. 변수 또는 상수의 데이터 타입이 Any로 지되어 있다면 그 변수, 상수에는 어떤 종류의 데이터 타입이던지의 상관없이 할당할 수 있다.

var metamong: Any = "Geniewiz"
metamong = 10
metamong -10.1

nil은 특정 타입이 아닌 '없음'을 나타내는 스위프트의 키워드라고 한다. 변수 또는 상수에 값이 들어있지 않고 비어있음을 나타내는 데 사용한다

profile
likeCaffeine

0개의 댓글