본문 바로가기

iOS/Swift

[Swift] 변수와 데이터

변수

  • 메모리에 데이터가 저장되는 공간
  • var a = 2 var name = "joy" var a = 1, b = 2, c = 3
  • 변수 명명 규칙
    • 소문자로 시작
      • 숫자로 시작 불가능
      • 카멜케이스 사용
  • 변수 출력 - 문자열 보간법 (String Interpolation)
    • print("저는 \(name) 입니다!")
  • 상수
    • 저장된 데이터를 변경할 수 없는 변수

데이터 타입

  • 종류
    • Int : 정수
    • Float : 실수 6자리
      • 4바이트(32bit) 공간 사용
    • Double : 실수 15자리
      • 8바이트(64bit) 공간 사용
    • Character : 문자(글자 한개)
    • String : 문자열
    • Bool : 참과 거짓
    • UInt, UInt64, UInt32, UInt16, UInt8
  • 타입을 확인하는 방법
    • type(of: a)
  • 타입 주석 (Type Annotation) : 변수 선언 시 타입 명시
    • var number: Int
  • 타입 추론 (Type Inference) : 타입을 명시하지 않아도 Swift가 타입을 추론
    • var name = "Joy" var number = 5.2
  • 타입 안정성 (Type Safety)
    • Swift에서는 데이터 타입을 명확히 구분하여 사용
    • ex) Int와 Double끼리 계산이 불가능함!
  • 타입 변환 (Type Conversion)
    • 타입 변환 시 Optional 타입을 반환하며, 데이터 유실의 가능성이 있음!
  • let numberStr = "123" let number = Int(numberStr) // 123 let numberStr2 = "12.2" let number2 = Int(numberStr2) // 12 let numberStr3 = "abc" let number3 = Int(numberStr3) // nil

타입앨리어스

  • 타입에 별칭을 붙여 사용

    typealias Name = String  
    typealias SomeFunction = (Int) -> String

튜플(Tuple)

  • 연관된 데이터 묶은 타입
    • ex) 좌표(Int, Int), 3차원공간(Int, Int, Int)
    • 정의 : let student: (String, Int, String) = ("Joy", 20, "Seoul")
    • 접근 : student.0 // "Joy"
  • Named Tuple
    • 가독성을 높히기 위해 데이터에 이름을 매김
    • 정의 : let student = (name: "Joy", age: 20, address: "Seoul")
    • 접근 : student.name // "Joy"
  • 튜플 분해
    • 각 요소를 바인딩 가능
    • let (studentName, studentAge, studentAddress) = student
  • 튜플 typealias
    • typealias StudentInfo = (name: String, age: Int, address: String)
  • 활용
    • switch문 활용
      let coordinate = (20, 0)   
      switch coordinate {   
      case (let x, 0):
      // x축에 있음
      case (let 0, y):
      // y축에 있음
      default:
      // 축 위에 있지 않음
      }
let coordinate = (1, -1)
switch coordinate {
case let (x, y) where x == y:
    // 기울기가 1인 1차함수 그래프 위에 있다
case let (x, y) where x == -y:
    // 기울기가 -1인 1차함수 그래프 위에 있다
default:
    // 나머지..
}

Swift 용어 정리

  • 키워드
    • 약속어
    • ex) var, let, if, false ..
  • 리터럴(Literals)
    • 코드에서 고정된 값으로 표현되는 데이터 그 자체
    • ex) 43(Int), "Joy"(String), 1412.12(Double), true(Bool) 등
  • 식별자
    • 변수, 상수, 함수 등의 이름
  • 토큰
    • 코드의 가장 작은 단위
    • ex) 식별자, 키워드, 구두점, 연산자, 리터럴
  • 표현식
    • 값, 변수, 연산자의 조합으로 하나의 결과값이 나오는 코드 단위
    • ex) `5>10 // false`
  • 문장
    • 특정 작업을 실행하는 코드 단위
    • ex) `var num = 3` `print(num`

'iOS > Swift' 카테고리의 다른 글

[Swift] 반복문  (0) 2022.07.04
[Swift] 조건문  (0) 2022.07.04
[Swift] 연산자  (0) 2022.07.04