출력중 문자열에 변수를 출력
\(var)
함수형 프로그래밍, 불변객체를 중요히 여김
⇒ 상수 표현이 많이 나타남
let
상수 선언 키워드 : 차후에 변경이 불가능한 상수
→ let name : type = 값
→ let name = 값
(값의 타입이 명확할 때)
var
변수 선언 키워드 : 차후에 변경이 가능한 변수
→ var name : type = 값
→ var name = 값
(값의 타입이 명확할 때)
나중에 상수, 변수를 할당하고자 하면 상수나 변수에 타입을 꼭 명시해줘야 함
let sum: Int
let inputA: Int = 100
let inputB: Int = 200
// 선언 후 할당
sum = inputA + inputB
: 다른 데이터 타입으로 변환이 어려움
: true 또는 false 만을 으로 가지는 타입
→ 𝟶, 1 을 사용해서 true&false 표현 불가능
Character : 문자타입, 유니코드 사용, 큰따옴표 사용
String: 문자열 타입, 유니코드 사용, 큰따옴표 사용
→ 여러줄 문자열은 큰따옴표 세개 사용
: Swift의 모든 타입을 지칭하는 키워드
→ 다른 타입으로 선언된 데이터에는 Any를 할당 할 수 없음, 명시적으로 타입을 변환해 주어야 함
: 모든 클래스 타입을 지칭하는 프로토콜
→ AnyObject는 클래스의 인스턴스만 수용 가능, 클래스의 인스턴스가 아니면 할당이 불가능
: 없음을 의미하는 키워드
: 순서가 있는 리스트 컬렉션
빈 Int Array 생성
var integers: Array<Int> = Array<Int>()
integers.append(1)
integers.append(100)
integers.contains(100)
integers.contains(99)
integers.remove(at: 0)
integers.remvoveLast()
integers.removeAll()
integers.count
var doubles: **Array<Double>** = **[Double]**()
var characters: **[Character]** = **[]**
: 키와 값의 쌍으로 이루어진 컬렉션
var anyDictionary: Dictionary = [String: Any]()
// 같은 표현
var anyDictionary: Dictionary = Dictionary()
var anyDictionary: Dictionary = [:]
var anyDictionary: [String: Any] = Dictionary()
var anyDictionary: [String: Any] = [String: Any]()
var anyDictionary: [String: Any] = [:]
var Dictionary = [String: Any]()
// key에 값 할당 (value type이 Any이기 때문에 어떤 type이던 가능)
anyDictionary["someKey"] = "value"
// key에 값 변경하여 할당
anyDictionary["someKey"] = "dictionary"
// key에 해당하는 값 제거
anyDictionary: ["someKey"] = nil
anyDictionary.removeValue(forKey: "someKey")
// 빈 dict 선언
let emtpyDictionary: [String: String] = [:]
: 순서가 없고, 멤버가 유일한 컬렉션 (중복안됨)
// 따로 축약은 없음
var integerSet: Set<Int> = set<Int>()
integerSet.insert(100)
integerSet.insert(99)
integerSet.remove(100)
integerSet.removeFrist()
integerSet.count
집합 연산 가능
let union: Set<Int> = setA.union(setB)
let sortedUnion: [Int] = union.sorted()
let intersection: Set<Int> = setA.intersection(setB)
let subtracting: Set<Int> = setA.subtracting(setB)