[Swift] 기초문법 01

최정은·2023년 8월 14일
0

Swift

목록 보기
1/27

배열(Array)

  • 여러 데이터를 순서대로 담아 놓은 변수
// 배열 생성
var numberArray = [2,4,6,8,10]
var stringArray = ["a","b","c"]
var doubleArray : [Double] = [0.1,0.3,0.5]
// 배열 추가
numberArray.insert(contentsOf: [5,6], at: 1)

셋(Set)

  • 여러 데이터를 순서 상관없이, 그리고 중복없이 담아 놓은 변수
  • array 와 차이점
    • 순서가 없다 (랜덤 순서다)
    • 중복 데이터를 들고 있지 않는다
  • Set 형태로 저장되기 위해서는 반드시 타입이 hashable 이어야만 가능 (String, Int, Double, Bool)
// 셋 생성
var primes: Set<Int> = [2, 3, 5, 7]

// 중복 데이터 넣으려고 시도하면, 중복된것 알아서 무시됨
var evens = Set<Int>([2, 4, 6, 8, 2, 4])

// 비어 있는 set 초기화 
var emptySet: Set<Int> = []
var emptySet: Set<Int> = Set<Int>()

튜플(tuple)

  • 여러 데이터를 하나의 값으로 표현
  • 세부 데이터 접근시, 포지션 또는 이름으로 접근 가능
// 생성
var person: (String, Int, Double) = (”yagom”, 100, 182.5)
var phone = (name: "yagom", age: "100", height : 182.5)
var person: (name: String, age: Int, height: Double) = (”yagom”, 100, 182.5)

// 인덱스 & 이름을 통해서 값을 빼 올 수 있음
print(”이름: \(person.0), 나이: \(person.1), 신장: \(person.2)”
print(”이름: \(person.name)”)

// 요소 이름 & 인덱스를 통해 값 할당 가능
person.age = 99
person.2 = 178.5

// 튜플 별칭 지정
typealias PersonTuple = (name: String, age: Int, height: Double)

let john: PersonTuple = (”john”, 100, 178.5)
let eric: PersonTuple = (”eric”, 150, 183.5)

딕셔너리

  • 여러 데이터를 키와 값의 형태로 담아 놓은 변수
  • 값을 접근할때는 키를 통해서 접근함
    • 접근한 키의 값이 없으면 nil
    • 접근한 키의 값이 있으면 해당 값을 전달
// 생성
let languageCode = [
    "한국" : "ko",
    "미국" : "en",
    "일본" : "ja",
]

languageCode["한국"] // "ko"
languageCode["베트남"] // nil

// 비어 있는 딕셔너리 초기화 
var emptyDic: [String: Any] = [:] // [String: Any]()로도 표현

열거형(Enum)

  • 서로 관계있는 값들을 모아서 표현한것
  • 특정 타입들을 표시할때 사용하기 좋음

기본 열거형

// 요일 enum 생성 
enum WeekDay {
    case mon
    case tue
    case wed
    case thu
    case fri
}

var today: WeekDay = .mon

원시 값

enum WeekDay {
    case mon = "월요일"
    case tue = "화요일"
    case wed = "수요일"
    case thu = "목요일"
    case fri = "금요일"
}
    
let today: WeekDay = WeekDay.fri
print(today.rawValue) // 금요일

연관 값

enum MainDish{
	case pasta(taste: String)
	case pizza(dough: String, topping: String)
}

var dinner: MainDish = MainDish.pasta(taste: “크림”)
dinner = .pizza(dought: “치즈크러스트”, topping: “불고기”)

0개의 댓글