Swift 기초 - 1

김영훈·2023년 1월 18일
1

Swift

목록 보기
1/2

변수, 상수


swift에 변수var 상수let으로 선언된다. (자주보던 친구들이다.)
javascript에서 nullnil로 표기한다.

var red:String = ""
var red = String() //초기화

let colors:String[] = ["red","blue"]
let colors = [String]() //초기화

Array & Set & Dictionary


Array

index 순서가 존재하여 중복으로 저장 가능

 
let arr1: [Int]
var arr2: [String]

var array3 = [Int](repeating: 0, count: 10) // new Array(10).fill(0) in js


let count: Int = array3.count      // 배열 갯수 확인 : 10
let isEmpty: Bool = array3.isEmpty // false


// 4. 여러 타입을 저장하는 배열 생성하기
var array4: [Any] = [1, "Sodeul", 20.4]
var array5: NSArray = [1, "Sodeul", 20.4] 
NSArrayClass 형식이라 요소는 무조건 "인스턴스"로 구성되어 있어야 함..!

// 요소 추가
var array6 = [1, 2, 3]
array6.insert(0, at: 0)                      // [0, 1, 2, 3]
array6.insert(contentsOf: [10, 100], at: 2)  // [0, 1, 10, 100, 2, 3 ]

Set

index 순서가 없기 때문에 출력 할 경우 무작위로 나오고 중첩 삽입도 불가하며 집합을 사용할 수 있습니다.

var numbers: Set<Int> = [1,14,3,4]
var sets: Set<Int> = [0,1,3,5]

//합집합
sets.union(numbers) // [14, 1, 3, 4, 2, 5]
//교집합
sets.intersection(numbers) // [3, 1]
// 합 - 교
sets.symmetricDifference(numbers) // [14, 4, 2, 5]
//여
sets.subtracting(numbers) // [14, 4]

//한쪽에 포함여부
sets.isSubset(of:numbers) false
sets.isSuperset(of: numbers) //역 false

//한쪽에 불포함 여부
sets.isDisjoint(with: numbers) // false

Dictionary

removeValue, updateValue로 값 변경 가능


let namesDic = ["Kim":"im", "Lee":"lee", "Park":"park"]

namesDic.updateValue("Kim", forKey: "kim")

let newNamesDic = namesDic.map { element in
    element.value
}

print(newNamesDic) // ["kim","lee","park"]

let namesDicfilter = namesDic.filter { $0.value.count >= 4 }

print(namesDicfilter) // ["park"]

let namesDicReduce = namesDic.filter { $0.value.count >= 3 }.map { $0.value.count }.reduce(0) { $0 + $1 }

print(namesDicReduce) // 10
profile
개인적인 기록.

0개의 댓글