본문 바로가기
swift/basic

데이터 및 컬렉션 타입

by 신주봉 2024. 3. 22.

데이터 타입

1. bool

true/false

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

 

2. int

정수형의 데이터 타입

var someInt: Int = 100
someInt = 10 + 29
// someInt = 10.123 // 컴파일 오류발생

 

3. Uint

양의 정수의 데이터 타입

Swift는 타입에 매우 엄격하여, int 변수를 Uint 변수에 대입하면 컴파일 에러가 발생함

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

 

4. Float

32비트 실수 데이터

var someFloat: Float = 3.14
someFloat = 3

 

5. Double

64비트 실수 데이터

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

 

6. Character

문자를 담는 데이터 타입

유니코드로 된 데이터라면 모두 담을 수 있지만 "문자열"은 대입이 불가능함. 오로지 "문자"만 가능

var simeCharacter: Character = "가"
someCharacter = "A"
// someCharacter = "신주봉" // 컴파일 오류발생

 

7. String

문자열을 담는 타입

문자열끼리 더해서 새로운 문자열을 만드는 것은 가능하지만 문자(Character)형과는 결합되지 않음

var someString: String = "안녕"
someString = someString + "신주봉"

// String 타입은 여러줄을 넣을 수 있도록 지원함
someString = """
첫번째줄
두번쨰
세번쨰
"""

컬렉션 타입

1. Array

순서가 있는 리스트 

인덱스를 통해 값에 접근 할 수 있음 

var integers: Array<Int> = Array<Int>()
var integers: Array<Int> = []
var integers: [Int] = Array<Int>()
var integers: [Int] = [Int]()
var integers: [Int] = []
var integers: [Int] = [Int]()

// 추가
integers.append(1)

// 포함된지 확인
integers.contains(1) //bool 값

// 지우고 싶으면
integers.remove(1)

// 갯수 확인
integers.count

// 교체
integers[0] = 2

 

2. Dictionary

Key와 Value 쌍으로 이루어진 데이터 (flutter -> map)

순서가 보장되지 않음

대신, Key 값으로 데이터를 접근할 때 유용함.

var dic : [Int : String] = [:]
var dic2 = [Int : String]()
var dic3 : Dictionary = [Int:String]()
var dic4 : Dictionary<Int, String> = Dictionary<Int, String>()

var dic : [Int : String] = [1:"shin", 2:"joo", 3:"yong"]
// 타입을 지정하지 않으면 타입 추론을 통해 초기화됨
var dic2 = [1:"shin", 2:"joo", 3:"yong"]
var dic3 : Dictionary = [1:"shin", 2:"joo", 3:"yong"]
var dic4 : Dictionary<Int, String> = [1:"shin", 2:"joo", 3:"yong"]

================================================================

//Key 값을 알고 있으면 Value값을 수정할 수 있음
var dic : [Int : String] = [1:"shin", 2:"joo", 3:"yong"]

dic.updateValue("park", forKey: 1)
print(dic) // [1:"park", 2:"joo", 3:"yong"]

dic[1] = "park" // [x]인덱스 값이 아닌 key값이 1 
print(dic) // [1:"park", 2:"joo", 3:"yong"]

================================================================

// 추가 
dic[4] = "bong"
print(dic) = [1:"shin", 2:"joo", 3:"yong", 4:"bong"]

// 삭제
dic.removeValue(forKey: 1)
dic.removeAll()

 

3. Set

순서가 존재하지 않고, 멤버가 유일한 것을 보장하는 데이터

중복X

순서 개념이 없기 때문에 index를 통한 접근X

var intergerSet: Set<Int> = Set<Int>()

integerSet.insert(1)
integerSet.remove(1)

'swift > basic' 카테고리의 다른 글

조건문, 반복문  (0) 2024.03.25
기본 함수  (0) 2024.03.25
Any, nill  (0) 2024.03.22
swift?  (1) 2024.03.22