본문 바로가기
Swift

Swift 2. Swift의 데이터 타입.

by MiaCoder 2023. 6. 15.

애플이 제공하고, 가장 많이 이용하는  mac, ios에서 사용하는 프로그램, 앱을 만들기 위해서는

 

애플이 개발한 Swift언어를 알아야 합니다.

 

ios 앱 개발을 위해 기반 언어인 Swift의 기본 데이터 타입을 정리해 보겠습니다.

 

데이터 타입은 기본적으로 대문자 카멜케이스(upper camel case)를 이용합니다.

 

 

1. 정수형 데이터 타입

 

Swift에는 2가지 정수 타입이 있습니다. Int, UInt입니다.

 

Int는 +, -를 포함하는 정수를 뜻하며 UInt는 -를 포함하지 않고 0을 포함하는 정수입니다.

 

Int, UInt는 각각 크기별로 8bit, 16bit, 32bit, 64bit형태가 있습니다.

 

이는 각각 Int8, Int16, Int32, Int64 UInt8, UInt16, UInt32, UInt64로 분류합니다.

 

시스템 아키텍처에 따라  Int, UInt의 타입이 달라집니다.

 

32bit 체제라면 Int32, UInt32가 기본타입으로, 64bit타입이라면 64Int, UInt가 기본입니다.

 

Swift는 같은 정수라고 해도 Int, UInt를 엄격하게 다른 데이터 타입으로 구분합니다.

 

따라서 과도한 자원을 소모하지 않도록 적절하게 통일된 정수타입 사용을 권장합니다.

 

 

import UIKit

var integer: Int = -100
let unsignedInteger: UInt = 50

print("integer의 값: \(integer)")
print("unsigned integer의 값: \(unsignedInteger)")

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

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

let toolargeInt: Int = Int.max + 1 // Int의 최댒값보타 큰 수를 만들 수 없어 오류
let cannotNegetive: UInt = UInt -5 // 음수를 가질 수 없어 오류

integer = unsignedInteger // Int, UInt는 다른 타입이므로 오류

 

 

2. Bool 타입

 

Bool은 불리언 타입입니다.

 

참(true), 거짓(false)만을 나타냅니다.

 

var boolean: bool = true
boolean.toggle() // true, false를 반전

print("사람은 영원히 살 수 있는가?\(boolean)")

 

 

3. Float,  Double 실수형

 

부동소수점을 사용하는 부동소수 타입입니다.

 

32bit를 사용하는 float와 64bit를 사용하는 double타입이 있습니다.

 

float는 최대 6자리의 10진수, double는 최대 15자리의 10진수를 표현 가능합니다.

 

var folatValue: Float = 123456789.1 // Folat가 가질 수 있는 최댓값을 넘어서는 오류
var doubleValur:Double = 123456789.1 // Double는 수용 가능

 

 

4. Character 문자형

 

하나의 문자를 나타낼 떄 사용. 

 

유니코드에서 지원하는 모든 언어 및 특수기호를 사용할 수 있습니다.

 

큰따옴표를 사용합니다.

 

let alphabetA: Character = "A"
let commandCharacter: Character = "♡"
let koreaCharacter: Character = "ㄱ"

 

 

5. 문자열 타입. String

 

문자열은 문자의 나열 입니다.

 

Character과 마찬가지로 유니코드를 지원합니다.

 

큰따옴표를 사용합니다.

 

let name: String = "abcd"
var introduce: String = String() // 빈 문자열 생성 수정 후 사용

introduce.append("안녕하세요") // 문자열에 문자열을 이어 붙이는 메소드
introduce = introduce + " " + name + "입니다" // +를 이용한 연산도 가능

 

6. 특수문자(제어문자) 

 

문자열 내 일정하는 기능을 하는 특수문가 있습니다.

 

\n  줄바꿈

\\  문자열 내 백슬래시를 표현할 때 사용

\" 문자열 내 큰 따옴표를 사용할 때 사용

\t 탭 기능을 사용할 때 사용

\o 문자열이 끝났음을 알리는 null문자