[Swift] 데이터 타입 기본

김태형·2023년 3월 18일
0

Swift

목록 보기
5/22

이번 글에서는 기본적인 데이터 타입에 대해 작성해보고자 한다.



데이터 타입

우선 스위프트의 모든 데이터 타입 이름은 첫 글자가 대문자로 시작하는 '대문자 카멜케이스'를 사용한다.


콘솔 로그

  • print() / dump()
  • dump()는 print()보다 조금 더 자세한 정보들을 출력해줌
    (ex. 구조체에 대해 자세히)

기본 데이터 타입

  • Bool, Int, UInt, Float, Double, Character, String

Int와 UInt

  • 정수 타입
  • UInt : 음수를 포함하지 않는 정수
  • Int와 UInt는 엄연히 다른 것임! (타입 에러)
  • 2진수 : 0b / 8진수 : 0o / 16진수 : 0x
let binaryInteger: Int = 0b11100    //10진수 28과 동일

Bool

  • 참 (true) / 거짓 (false)
  • 다른 언어처럼 참을 1, 거짓을 0으로 지정할 수 없다 !

Float와 Double

  • Double : 최소 15자리의 십진수 표현 가능
  • Float : 6자리의 숫자까지 표현 가능
  • 만약 둘 중 애매하다면, Double을 쓰는 것 권장
    (더 큰 범위를 포함하고 있기 때문에 더욱 정확할 수 있음)

임의의 수 만들기

  • random(in:) : 정수, 실수 모두 임의의 수를 만들 수 있음
Int.random(in: -100 ...100)
Double.random(in: 1.5 ...4.3)

Character

  • 문자 (문자열 X)
  • 스위프트는 유니코드 9 문자를 사용
    → 유니코드에서 지원하는 모든 언어 및 특수기호 등을 사용할 수 있음
let commandCharacter: Character = "♡"    //가능 (유니코드 하트)

String

  • 문자열
  • 여러 줄의 문자열을 쓰고 싶다면 큰따옴표 3개를 사용하면 됨

특수문자(제어문자)

  • 백슬래시에 특정한 문자를 조합하여 사용
특수문자설명
\n줄바꿈 문자
\\ 문자열 내에서 백슬래시를 표현할 때 사용
\"문자열 내에서 큰따옴표를 표현할 때 사용
\t탭 문자
\0문자열이 끝났음을 알려주느ㄴ null 문자

Any, AnyObject와 nil

Any

  • 스위프트의 모든 데이터 타입을 사용할 수 있다는 뜻
  • 할당되는 타입으로 변환되는 것이 아니라, 명시적으로 타입을 변환해주어야 함!
    (Any 타입에 String을 넣었다고 String 타입으로 변환되는 것이 아님!)

AnyObject

  • 클래스의 인스턴스만 할당할 수 있음
  • 다른 것이 들어오면 에러발생

되도록이면 Any와 AnyObject는 사용하지 않는 것을 권장

--> 타입에 민감한 스위프트 언어에서 예기치 못한 에러 발생 가능

nil

  • 특정 타입이 아니라, ‘없음’을 나타내는 키워드 —> 값이 비어있음
  • nil일때 접근하면 런타임 오류 발생
  • Any 타입과 AnyObject 타입에 nil을 할당할 수 없음

[출처] 스위프트 프로그래밍 (야곰), 야곰의 스위프트 기초문법 강좌, 개발하는 정대리 스위프트 강좌

0개의 댓글