[Swift 프로그래밍] 데이터 타입 (DataType)

이정훈·2022년 4월 29일
1

Swift 기본

목록 보기
1/22
post-thumbnail

본 내용은 스위프트 프로그래밍 3판 (야곰 지음) 교재를 공부한 내용을 바탕으로 작성 하였습니다.

변수와 상수

변수

변수는 변하는 값을 의미하며, 스위프트에서 변수 생성을 위해 변수명 앞에 var 키워드를 사용한다. 일반적인 변수 선언은 다음과 같다.

var (변수명): (데이터 타입) = (대입 값)     //데이터 타입은 optional

스위프트는 파이썬과 같이 데이터 타입 추론이 가능하여 데이터 타입을 필수적으로 명시하지 않아도 된다.
다음은 스위프트로 변수를 선언하는 간단한 예시이다.

var name: String = "Swift"
var age: Int = 8
var from = "apple"	//데이터 타입 추론

상수

상수는 변하지 않는 값으로서 상수명 앞에 let 키워드를 사용하여 선언한다.
상수의 선언 방법은 다음과 같다.

let (상수명): (데이터 타입) = (대입 값)

상수도 변수와 마찬가지로 데이터 타입을 명시 하지 않고 데이터 타입 추론이 가능하다.

Int와 UInt 자료형

Int

정수 자료형으로 +, -부호와 0을 가지는 정수를 말함

UInt

정수 자료형 중 -부호를 제외한 0과 + 부호 정수를 의미한다.

Bool 자료형

Bool

Trued(참) 과 False(거짓)을 값으로 가지는 자료형을 말한다.

다음은 Bool 자료형을 이용한 예시이다.

var boolean: Bool = true
boolean.toggle()    //true-false 변환
print(boolean)
let isMan: Bool = true
print("당신은 남자 입니까?: \(isMan)")

Float와 Double 자료형

Float

32비트의 부동 소수를 표현 할 수 있는 실수 자료형이다.
소숫점 아래 7자리까지 표현이 가능하다.

Double

64비트의 부동 소수를 표현 할 수 있는 실수 자료형이다.
소숫점 아래 15자리까지 표현이 가능하다.

다음은 Float형과 Double형을 사용한 예시이다.

var floatValue = 1.1234567
let doubleValue = 1.123456789
print("floatValue: \(floatValue), doubleValue: \(doubleValue)")

Character

Character은 단 하나의 문자를 표현 할 수 있는 문자 자료형이다.스위프트에서는 유니코드 9을 지원하므로 유니코드에서 지원하는 모든 문자를 문자 자료형과 함께 사용이 가능하다.

다음은 Character 자료형을 사용한 문자와 이모티콘, 한글을 출력하는 예시이다.

let alphabet: Character = "Z"   //문자와 문자열 모두 큰 따옴표("") 사용
print(alphabet)

let unicode: Character = "♡"    //유니코드 문자 사용 가능
print(unicode)

let 한글: String = "ㅎ"    //한글도 유니코드에 속하므로 변수 이름을 한글로 표현 가능
print(한글)

String

String 자료형은 문자열을 표현 할 수 있는 자료형으로 문자열 앞, 뒤에 큰 따옴표" "를 사용한다.

다음은 문자열을 사용한 간단한 예시이다.

let name: String = "jeunghun"

var hello: String = String()    //이니셜라이저를 사용하여 빈 문자열 생성
hello.append("My name is ")   //append() 메서드를 사용하여 문자열 연결 가능

hello = hello + " " + name  // + 연산자로 문자열 연결 가능
print(hello)

print("name의 문자 수: \(name.count)")	//문자열 길이 확인
print("introduce가 비어있습니까?: \(hello.isEmpty)")

위와 같이 문자열이 대입 되어 있는 변수를 '+' 연산자를 사용하여 문자열을 연결 하는것도 가능하다.
스위프트에서는 문자열을 이용한 다양한 메서드가 존재하는데 필자의 github에 정리해 두었다.

특수문자

스위프트에는 문자열에 사용 가능한 여러가지 특수문자가 존재한다.

특수문자설명
\n문자열의 줄을 바꾼다.
\\문자열에서 '\'자체를 의미한다.
\"문자열에서 큰 따옴표 자체를 의미한다.
\t문자열에서 tab과 같은 기능을 한다.
\0문자열이 끝났음을 알리는 nil

Any, AnyObject, nil

Any

Any는 모든 데이터 타입을 의미하며, 변수 및 상수에 어떠한 자료형도 상관 없이 대입이 가능하다.

AnyObject

AnyObject는 클래스의 인스턴스로 한정하여 모든 인스턴스를 대입 가능하다.

nil

nil은 값이 없음을 나타내는 키워드이다. 다른 언어의 null과 같은 의미를 가진다.
스위프트에서는 옵셔널이 아닌 변수와 상수에 반드시 nil이 아닌 값이 대입되어야 하며, nil 값 대입시 오류를 발생시킨다.

profile
새롭게 알게된 것을 기록하는 공간

0개의 댓글