당근농장

[Swift] 스위프트 기초 1 - 문자열 보간법, 상수와 변수, 기본 데이터 타입 본문

개발/Swift

[Swift] 스위프트 기초 1 - 문자열 보간법, 상수와 변수, 기본 데이터 타입

devcarrot 2021. 3. 10. 19:41

업무 시간 이후 회사, 지하철, 집 등등 시간 날 때마다 틈틈이 BoostCourse에서 iOS 프로그래밍을 위한 스위프트 기초 강의를 들었다.
갤럭시 탭 상하 분할로 위에 강의 영상, 아래에 원노트를 키고 내장된 펜으로 열심히 필기하면서 공부했는데, 사실 나는 직접 손으로 쓴 노트보다 키보드로 타이핑해서 정리해두는 게 더 눈에 잘 들어오기도 하고, 기억에도 잘 남아서 여기에도 기록해두려고 한다!! 약간 복습 느낌? ㅇㅅㅇ...ㅋㅋ

 

아 물론 각 잡고 쓰는 건 아니라 모든 강의 내용이 포함되어 있는 건 아니다. (각 잡고 쓰지 않는 이유에 대해선 조만간 포스팅할 예정 ㅎㅎ😝)

 

문자열 보간법 (String Interpolation) - \()

코딩을 하다보면 문자열 내에 변수나 상수의 실질적인 값을 표현하고 싶은 경우가 굉장히 많다.
대부분의 언어가 문자열에 `+`를 사용할 수 있도록 되어 있어서 "이렇게" + value + "를 표현할 수 있다."
하지만 이런 방법은 솔직히 가독성도 떨어지고, 조금 귀찮기도 하다..

 

Swift에서는 문자열 내에 값을 표현하고 싶은 경우 \()를 사용할 수 있도록 만들어 주었다. 👏🏻👏🏻👏🏻
아까와 똑같은 문자열을 표현하고자 한다면, "이렇게 \(value)를 표현할 수 있다." 참 좋은 기능이다!

 

tmi for js.
js에서는 ${}를 사용한다.

 

상수와 변수 - let, var

어느 언어에서든 상수와 변수의 개념은 항상 존재한다. (맞겠지?) 표현 방식이 다를 뿐!

  • let: 상수 선언 키워드
  • var: 변수 선언 키워드
let 상수이름: 타입 = 값
var 상수이름: 타입 = 값

 

기본적으로는 타입을 명시하도록 되어 있지만, 값의 타입이 명확하다면 타입을 생략하는 것이 가능하다.
하지만 선언만 먼저 하고 나중에 값을 할당하려는 상수나 변수는 반드시 타입을 명시해야 한다.
(그래서 간단한 테스트를 제외하고는 타입을 명시해주는 것이 좋다고 생각!)

 

let constant = '이건 명확히 문자열이야!'
let later: String

later = '나중에 할당 가능!'
// later = '하지만 상수기 때문에 한 번 할당한 이후에는 값을 변경할 수 없다.'

 

tmi for js.
🥕 const: 상수 선언 키워드
🥕 let: 재선언 불가 변수 키워드
🥕 var: 재선언 가능 변수 키워드

 

기본 데이터 타입 - Bool, Int, UInt, Float, Double, Character, String

  1. Bool
    true와 false만을 값으로 가지는 타입.
    ⭐⭐ 다른 언어와 다르게 true와 false가 1과 0에 대응되지 않는다. ⭐⭐

    var someBool: Bool = true
    // someBool = 0 // 컴파일 에러

  2. Int, UInt

  • Int: 정수 타입. 64비트 정수형.
  • UInt: 양의 정수 타입. 97비트 양의 정수형.

    당!연!히! 해당 타입이 아닌 수를 넣으면 컴파일 에러가 난다.

    var someUInt: UInt = 100
    // someUInt = -100 // 컴파일 에러

 

  1. Float, Double
  • Float: 실수 타입. 32비트 부동 소수형.
  • Double: 실수 타입. 64비트 부동 소수형.

    정수도 당연히 할당 가능하지만(정수도 실수이므로) Int, UInt 타입의 변수를 할당하는 건 불가능하다.

    var someInt: Int = 3
    var someFloat: Float = 3.14
    someFloat = 3
    // someFloat = someInt // 컴파일 에러

     

tmi.
기본적으로 swift는 타입에 굉장히 엄격한 언어이다.
실제로는 동일한 값을 담을 수 있어도, 두 변수 간의 타입이 다르다면 절!대!로! 할당이 불가능하다.

 

  1. Character, String
  • Character: 문자 타입. 유니코드 사용. 큰따옴표("") 사용.
  • String: 문자 타입. 유니코드 사용. 큰따옴표("") 사용.

    두 타입의 속성(?) 자체는 똑같지만 Character는 한 글자만 할당이 가능하고, String은 문자열 할당이 가능하다. ㅎㅎ;;

    var someCharacter: Character = "🥰"
    // someCharacter = "메롱" // 컴파일 에러

 

출처:

https://www.boostcourse.org/mo122/joinLectures/40659?isDesc=false

 

iOS 프로그래밍을 위한 스위프트 기초

부스트코스 무료 강의

www.boostcourse.org

 

Comments