변수, 상수, 단순 데이터 - - - - - - - - - - - - - - - - - - - - -

변수와 상수를 만드는 방법

var hello1 = "Hello, Swift"
let hello2 = "Hellom Swift"

/*
var 키워드는 새 변수 생성 의미, hello1 는 변수 이름,  등호는 변수에 값을 할당, 값은 “Hello, Swift”
let 키워드는 새 변수 생성 의미, hello2 는 상수 이름,  등호는 변수에 값을 할당, 값은 “Hello, Swift”
값을 변경하고 싶지 않을 때 상수 이용.
*/

문자열을 만드는 방법

let actor = "Daniel"
let quote = """
A day in
the life of an
Apple engineer
"""

/*
문자열 한줄 , 문자열 여러줄 
.count로  문자열의 길이를 읽을 수 있다. 
.uppercased()로 대문자로 변경
.hasPrefix()로 선택한 문자열로 시작하는지 알 수 있다.
.hasSuffix()로  선택한 문자열로 끝나는지 알 수 있다.
*/

정수를 저장하는 방법

let score1 = 100
var score2 = 10_000_000

/*
스위프트는 _ 를 무시 하므로 보기에 편하게 작성 할 수 있다.
.isMultiple(of:)로 다른 정수의 배수인지 알 수 있다.
*/

참거짓을 저장하는 방법

let a = true
let b = false

//.toggle()을 사용해 참을 거짓으로 , 거짓을 참으로 바꿀 수 있다. 

문자열을 결합하는 방법

let first = "Hello, "
let second = "Swift!"
let num = 1
let hello1 = first + second 
let hello2 = "\\(first)\\(second)"
let hello3 = first + second + String(num)

배열, 사전, 집합 및 열거형 - - - - - - - - - - - - - - - - - - - -

배열

var numList = [1,2,3,4,5,6,7]
print(numList[0])
numList.append(8) // 배열에 값 추가
var scores :[Int] = []
 // Int형 빈 배열 생성자
scores += numsList
scores.count // 배열의 길이
scores.remove(at:0) // 특정 인덱스의 값 삭제
scores.removeAll() // 모든 항목 제거
scores.contains(3) // 특정 항목이 포함되어 있는지 확인
scores.sorted() // 오름차순으로 정렬된 새 배열 반환 , 원래 배열은 변경되지 않음
scores.reversed() // 뒤집힌 새 배열 반환 , 원래 배열은 변경되지 않음

사전

let employee = [
    "name": "Taylor Swift",
    "job": "Singer", 
    "location": "Nashville"
]
print(employee2["name"])
print(employee2["name", default: "Unknown"])

var archEnemies = [String: String]()
archEnemies["Batman"] = "The Joker"
archEnemies["Superman"] = "Lex Luthor"

집합

var people = Set<String>()
people.insert("Denzel Washington") // 배열과 달리 닶을 추가할 때 insert()
people.insert("Tom Cruise")

//배열과 달리 집합은 순서가 지정되지 않고, 중복을 포함할 수 없다.