array (배열)
- 배열이란 여러 개의 데이터를 담아 놓는 변수이다.
- [ ]를 사용하여 선언한다.
- 배열 내부의 값에 접근하기 위해선 index를 사용해야한다. (index는 0부터 시작)
// 빈 배열도 선언 가능하다. 배열의 선언 방법은 여러가지가 있지만 난 이 방법이 가장 편해서 사용했다.
var emptyArr: [String] = []
var tempArr: [String] = ["Kim","Park","Lee","Sim"]
print("\(tempArr[0])") // Kim 출력
dictionary (딕셔너리)
- 딕셔너리란 배열과 유사한 형태를 띄고 있지만 각각의 값이 key값을 들고 있는 형태의 변수이다.
- 배열과 다르게 index로 접근하지 않고 key값을 통해 접근한다.
- 접근하고 싶은 key의 값이 없으면 nil을 return한다.
// Dictiionary (Key: Value)
var errorMessages: [Int: String] = [
200: "OK",
403: "Access forbidden",
404: "File not found",
500: "Internal server error"
]
print("\(errorMessages[404])") // File not found 출력
// 배열과 마찬가지로 빈 딕셔너리를 선언할 수 있다.
var emptyDict: [String: String] = [:]
set (셋)
- 여러 데이터를 순서 상관없이, 중복없이 담아 놓은 변수이다.
- 배열과의 차이점은 순서가 없고, 중복 데이터가 없다는 점이다.
// 소수 Set
var primes: Set<Int> = [2, 3, 5, 7]
// 중복된 값은 제거하고 Set으로 만들어줌
var evens: Set<Int> = [2,4,6,8,2,4]
print(evens) // [2, 4, 8, 6] 현재 출력이지만 위에서 말했 듯이 순서가 없기 때문에 매번 랜덤한 출력값을 가지게 됨.
// 비어있는 Set 선언
var emptySet: Set<Int> = []
tuple (튜플)
- 여러 데이터를 하나의 값으로 담아 놓은 변수이다.
- 변수.index 또는 변수.이름 으로 접근 가능하다
var person = (name: "홍길동", age: 20)
print(person.name) // 홍길동 출력
print(person.1) // 20 출력
enum (이넘)
- 서로 관계있는 값들을 모아서 표현한 것이다.
- 특정 타입들을 표시할 때 사용하기 좋다.
enum appleDevice {
case iphone
case ipad
case airpod
}
var myDevice: appleDevice = .ipone