Data Type

Lena·2021년 10월 1일
0

Swift

목록 보기
1/8
post-thumbnail

Data Type


  • var num = 10
  • var num : Int = 10
    • int x = 10 // in C
    • 위와 같이 초깃값이 있을 경우에는 컴파일러가 타입 추론을 하므로 데이터 타입을 명시할 필요가 없음
  • Bool, Character, Int, Float, Double, String, Void
var x : Int = 10
// var x = 10 // 타입추론하므로 동일함 

print(x) // 출력 방법 
print(1.0, 2.0, 3.0, 4.0, 5.0)

for n in 1...5{
    print(n, terminator: "   ")
}
  • 자료형의 종류와 크기를 파악하고 싶을 때
    var x = 10
    
    print(type(of:x)) // x의 자료형을 출력 
    
    let s = MemoryLayout.size(ofValue: x) //x값의 사이즈
    let t = MemoryLayout<Int>.size // int형 정수의 사이즈 
    let u = MemoryLayout<Double>.size
    
    print(s,t,u) // 두개의 값 출력 
  • 초깃값을 주지 않을 경우에만 자료형을 쓴다.

Int

  • 정수를 저장하는데 사용 (signed integer)
  • 8비트, 16비트, 32비트, 64비트 정수를 지원
  • 그러나 특정 크기의 데이터 타입 보다 Int 데이터 타입을 권장함
  • 출력하고 싶은 숫자 값 앞에 \ 붙임
    print("Int32 Min = \(Int32.min) Int32 Max = \(Int32.max)")

Double

  • float, double 타입을 제공
  • double 타입 - 64비트로 부동소수점 수 저장, 소수점 15자리 정확도
  • float 타입 - 32비트로 부동소수점 수를 저장함. 소수점 6자리 정확도 ⇒ double이 기본임
var myWeight : Double 
var myWeight : Double = 58.5 

Character

  • 문자, 숫자, 문장부호, 유니코드 문자 하나를 저장함
  • var 변수명 : Charater = "초깃값"
  • 초깃값은 작은 따옴표 아니고 큰 따옴표!!
    • var myChar1 : Character
    • var myChar2 : Character = " : "
    • var myChar3 : Character = "X" // : Character 생략이 불가함. 생략하면 string 형이 된다 !!
      • var myChar4 = "\ u{0058}"

String

  • var userName : String = "Min" // : String 생략이 일반적
  • var age = 20
  • var message = "\(username)의 나이는 \(age)입니다."
  • print(message)

var (변수)

  • 기본적으로 변수는 프로그램에서 사용될 데이터를 저장하기 위한 메모리 공간
  • 변수에 할당된 값은 변경이 가능함

let (상수)

  • constant
  • 코드 내 반복적으로 사용되는 값이 있을 경우에 유용함
  • 코드 내 반복적으로 사용되는 특정 값을 매번 사용하는 것보다, 그 값을 상수에 할당한 다음 코드 내에서 참조하면 코드 읽기가 더 쉬워짐

⇒ var 보다는 let사용을 권장

타입 어노테이션 (직접 타입을 쓰는것) 과 타입추론 (타입 생략)

  • 상수를 선언할 때 : 타입 어노테이션을 사용하면 나중에 코드에서 값을 할당할 수 있음
  • 상수에는 값을 한번만 할당할 수 있음 → let에 다시 값 할당하려면 오류 발생

Tuple

  • 여러 값을 하나의 개체에 일시적으로 묶는 방법

  • 어떠한 타입도 저장될 수 있으며, 저장된 값들이 모두 동일한 타입이어야 한다는 제약도 없다

  • let tup = (10, 12.1, "Hello")

  • 특정 튜플 값 접근하기 → 인덱스 위치를 참조

    • 맨 첫 번째 값부터 인덱스 0으로 시작
    • 인덱스 2 위치를 추출하고 그 값을 새로운 문자열 변수에 할당
      let tup = (10, 12.1, "Hello")
      var str = tup.2
          
      print(str)
  • 한 줄의 코드로 튜플의 모든 값을 추출해 변수 또는 상수에 할당

    • let myTuple = (10, 12.1, "Hello")
    • let (myInt, myFloat, myString) = myTuple
  • 튜플의 값을 선택적으로 추출하는데 사용될 수 있으며, 무시하고 싶은 값에 밑줄을 사용하면 그 값은 무시

    • var (myInt, _, myString) = myTuple // 부동소수점 수 무시
  • 튜플 생성할 때 각 값에 이름을 할당할 수 있음

    • let myTuple = (count: 10, length : 12.1, message: "Hello")
  • myTuple 인스턴스의 message 값을 출력하는 코드

    • print(myTuple.message)
  • 장점 → 함수에서 여러 값들을 한 번에 반환하는 것


학습자료 : Smile Han 유튜브 채널

0개의 댓글