🍫 notion으로 보기
*본 포스트는 애플의 'A Swift Tour'를 바탕으로 작성되었으며, 공부하며 기록용으로 작성한 포스트이기 때문에 정확하지 않은 정보가 있을 수 있습니다!
** notion으로 작성한 문서를 임시로 올려둔 포스트이기 때문에 사진 링크의 오류와 문서의 형식 등으로 인해 보시기에 불편함이 있을 수 있습니다. (사진이 안나오거나 코드를 보기 불편한 점 등은 빠른 시일 내에 수정하도록 하겠습니다!)
print("Hello, World!")
다른 언어들과 달리 스위프트는 위의 간단한 한 줄만으로 출력을 할 수 있다.
그리고 swift의 어느 곳에서든 작성된 코드는 프로그램의 진입점으로 사용되기 때문에, main()
함수가 필요하지 않다.
var a = 50
let상수
와 var변수
를 사용한다.
let은 컴파일을 할 때 알지 못해도 되지만, 반드시 한 번은 할당 되어야 한다.
즉 한 번 정의한 뒤 변경하지 않고 많은 곳에서 사용할 것을 let으로 지정하면 된다.
var myVariable = 42
myVariable = 50 //var은 변수이기 떄문에 변경할 수 있다.
let myConstant = 42
⛔️ myConstant = 50 //let은 값을 바꾸는 것이 불가능하다.
⛔️ Cannot assign to value: 'myConstant' is a 'let' constant. Change 'let' to 'var' to make it mutable.
fix
를 누르면 플레이그라운드가 적절하게 오류를 수정해준다!
변경된 화면: myConstant의 타입을 var로 변경하여 오류를 수정해 주었다.
그리고 위의 예제에서 우리는 myVariable과 myConstant를 int myVariable
과 같이 선언하지 않았다. swift는 자료형(data type)을 할당된 값을 통해 알아서 추론하기 때문이다.
그럼 모호하거나(Int/Double/Float), 값이 설정되지 않은 경우에는 어떻게 할까?
let implicitInteger = 70
let implicitDouble = 70.0
let explicitDouble: Double = 70
위에서 주어진 '70'과 이, Int일수도, Double 일수도, Float일 수도 있는 헷갈리는 값을 할당할 경우에는 변수의 이름 뒤에 : 자료형
을 작성해 준다.
**letexplicitDouble: Double = 70**
**실습: 명시적 유형 Float 및 값을 사용하여 상수를 만들기
let constantF: Float = 4
print(constantF)
값들은 다른 자료형으로 변하지 않는다.
만약 값을 다른 자료형으로 변환해야 하는 경우라면, 원하는 자료형을 앞에 적어 자료형을 변환한다.
**String(values)**
let label = "The width is "
let width = 94
let widthLabel = label + String(width)
두 상수의 자료형이 다르기 때문에 더할 수 없다는 경고가 뜬다
문자열에 값을 포함하는 더 간단한 방법은 없을까?
**\(변수이름)**
백슬래시와 괄호 **\( )**
를 이용해서 변수.상수의 값을 출력할 수 있다.
let apples = 3
let oranges = 5
let appleSummary = "I have \(apples) apples."
let fruitSummary = "I have \(apples + oranges) pieces of fruit."
"""
여러 줄을 차지하는 문자열: 세 개의 큰 따옴표 **"""**
를 이용한다. 이 때, 시작할 때와 닫힐 때의 """은 제거된다.
let quotation = """
I said "I have \(apples) apples."
And then I said "I have \(apples + oranges) pieces of fruit."
"""
대괄호**[]**
를 사용하여 배열array과 사전dictionaries를 만들고, 인덱스 또는 키를 이용하여 대괄호**[]
안의 요소에 접근한다. 마지막 요소 뒤에 콤마`,**`가 올 수 있다.
shoppingList[1] = "bottle of water"
var shoppingList = ["catfish", "water", "tulips"]
shoppingList[1] = "bottle of water"
print(shoppingList[1])
occupations["Jayne"] = "Public Relations"
var occupations = [
"Malcolm": "Captain",
"Kaylee": "Mechanic",
]
occupations["Jayne"] = "Public Relations" // occupations + Jayne: PR
print(occupations)
.append()
**.append()**
를 이용하여 elements를 추가하면 배열이 자동으로 커진다.
shoppingList.append("blue paint")
print(shoppingList)
let empty = [array/dic Type]()
/ []
/ [:]
//빈 배열/사전 만들기
let emptyArray = [String]()
let emptyDictionary = [String: Float]()
//기존 배열/사전 초기화
shoppingList = []
occupations = [:]
print(emptyArray)
print(emptyDictionary)
print(shoppingList)
print(occupations)