13일차 - 21.06.20

수킴·2021년 6월 20일
0

100DaysOfSwift

목록 보기
14/37
post-thumbnail

학습키워드

  • review(복습) - 1

1. Variables and constants

프로그램은 값을 저장할 필요가 있는 경우가 있습니다.

스위프트에서는 상수 및 변수라는 방법을 통해 값을 저장할 수 있습니다.

변수는 여러번 값을 변경할 수 있고 상수는 한 번 저장하면 값을 변경할 수 없습니다.

  • 값을 절대 변경하지 않아야할 때 실수를 방지하기 위해 이런 상황에서는 상수를 사용해야합니다. 빌드하는 시점에 미리 값이 절대 변경되지 않는다는 것을 알려줄 수 있어서 코드를 더 빠르게 실행할 수 있습니다.

  • var 키워드는 매번 사용하지 않고 선언하는 시점에만 사용합니다.

var name = "Tim McGraw"
name = "Romeo"

2. Types of Data

데이터의 종류는 여러가지가 있습니다. 스위프트는 이런 데이터의 종류를 개별적으로 처리합니다.

  • 변수에 초기값을 제공하지 않았을 때, 데이터타입을 정의하지 않는다면 에러가 발생합니다.
  • 변수나 상수에 정의한 타입과 다른 데이터는 저장할 수 없습니다.
  • 소수점숫자를 표현하는 타입은 Float , Double 이 있지만 Double 이 더 높은 정확도를 가지고 있기 때문에 권장합니다.
let floatArr: [Float] = [-86.783333, -186.783333, -1286.783333, 
			-12386.783333, -123486.783333, -1234586.783333]

for i in 0..<floatArr.count {
    print(floatArr[i])
}

// 실행결과
-86.78333
-186.78334
-1286.7833
-12386.783
-123486.78
-1234586.8

예시를 보면, Float 자료형을 사용한 경우 소수점 앞의숫자를 증가시킬 수록 뒤의 숫자를 제거하는 결과가 출력됩니다. 이것은 숫자를 저장할 공간이 제한되어 있기 때문에 중요한 부분부터 저장하는 원리때문입니다.

따라서 Double 을 사용하면 정확한 숫자가 출력될 것입니다. (너무 큰 숫자인 경우 한계가 있습니다.)

🌟 변수,상수 명은 소문자로 작성하는 것이 좋습니다. 단어별 구분은 카멜케이스 권장

3. Operators

산술연산자 : + , - , * , / , %

할당연산자 : =

복합할당연산자 : += , -=, *=, /= , %=

비교연산자 : > , < , >= , <= , == , !=

4. String interpolation

문자열 보간법 : 문자열 안에 변수와 상수를 사용할 수 있는 방법

var age = 25
"You are \(age) years old. In another \(age) years you will be \(age * 2)."

변수나 상수가 String 인 경우 + 연산자를 사용할 수 있지만 여러 데이터타입을 처리하는 경우 보간법을 사용하는 것이 편리합니다.

5. Arrays

배열은 같은 타입의 여러값을 하나의 컬렉션으로 그룹화할 수 있습니다.

  • 인덱스(위치)를 사용하여 해당 값에 접근할 수 있습니다.
  • 인덱스는 0부터 시작합니다.
  • 없는 인덱스에 접근하면 에러가 발생합니다.
  • 배열에 여러가지 타입의 값을 저장하려면 Any 라는 특수한 데이터 타입을 사용합니다.
// MARK: - 빈배열 할당 
var songs: [String] = []
var songs = [String]()

6. Dictionaries

딕셔너리는 지정한 키를 기반으로 값에 접근할 수 있는 컬렉션타입입니다.

  • 키를 사용하여 접근하기 때문에 인덱스로 접근하는 배열보다 코드가 명확합니다.
  • 사전을 나누는 경우 공백을 많이 사용하여 보기 편리하게 작성하는 것을 권장합니다.
var person = [
                "first": "Taylor",
                "middle": "Alison",
                "last": "Swift",
                "month": "December",
                "website": "taylorswift.com"
            ]

person["middle"]
person["month"]

7. Conditional statements

특정 조건이 참인 경우에만 코드가 실행되기를 원하는 경우 조건문을 사용합니다.

  • if ~ else if ~ else
  • 여러 조건을 확인하기 위해서는 && , || 연산자를 사용합니다.
var action: String
var stayOutTooLate = false
var nothingInBrain = true

if stayOutTooLate && nothingInBrain {
    action = "cruise"
}
  • stayOutTooLate , nothingInBrain 두 조건이 모두 참이여야 코드가 실행되지만 스위프트는 성능을 높이기 위해 두 조건을 모두 검사하지 않고 앞 조건이 false 라면 바로 다음 코드로 넘어갑니다.

8. Loops

코드를 반복적으로 사용하는 경우 반복문을 사용할 수 있습니다.

  • for 상수 in 범위 , while 조건 , repeat 코드 while 조건
  • for 문에서 상수를 사용할 일이 없다면 _와일드카드를 사용할 수 있습니다.
  • 반복문은 중첩하여 사용가능합니다.
  • break , continue
  • 배열의 모든 요소를 반복하는 경우 간단한 방법을 제공합니다.
var songs = ["Shake it Off", "You Belong with Me", "Look What You Made Me Do"]

for song in songs {
    print("My favorite song is \(song)")
}

// 실행결과
My favorite song is Shake it Off
My favorite song is You Belong with Me
My favorite song is Look What You Made Me Do

9. Switch case

조건문 중 또다른 방법인 switch case 구문이 있습니다.

  • case 뒤에는 조건을 사용할 수 있습니다.
  • switch구문에서는 모든 값에 대한 처리를 해줘야합니다.
let liveAlbums = 1
let myAlbums = 1
switch liveAlbums {
case 0..<1:
    print("You're just starting out")

case myAlbums:
    print("You just released iTunes Live From SoHo")

case 2:
    print("You just released Speak Now World Tour")

default:
    print("Have you done something new?")
}

링크

100 Days of Swift - Day 13 - Hacking with Swift

profile
iOS 공부 중 🧑🏻‍💻

0개의 댓글