QA Automation/swift5

3. 데이터 타입 기본

kokorii_ 2023. 6. 20. 22:45
  • 데이터 타입은 프로그램 내에서 다뤄지는 데이터의 종류
  • 스위프트의 기본 데이터 타입은 구조체 기반
  • 데이터타입 이름은 대문자 카멜 케이스 사용

3.1 Int와 UInt

Int와 UInt의 정의

  • Int : +, - 부호를 포함한 정수
  • UInt : 음수 제외, 0을 포함한 양의 정수
  • 값의 범위 : 타입의 최대값과 최소값을 max, min 프로퍼티로 확인할 수 있다.
    • Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64
    • 시스템 아키텍쳐에 따라 Int와 UInt 기본 타입이 바뀌며, 애플은 일반적으로 Int 타입만을 쓰도록 권장한다

진수 표현

let decimalInteger: Int = 28
let binaryInteger: Int = 0b11100
let octalInteger: Int = 0o34
let hexadecimalInteger: Int = 0x1C

3.2 Bool

정의

  • 참 또는 거짓만을 값으로 가지는 타입

3.3 Float과 Double

정의

  • 부동소수점을 사용하는 실수
  • 소수점 자리가 있는 수
  • double: 64bit 표현, float: 32bit 표현
  • 필요에 따라 사용하지만 Double을 많이 사용함

💡 랜덤 메서드 사용법

Int.random(in: -100…100)
UInt.random(in: 1…30)
Double.random(in: 1.5…4.3)
Float.random(in: -0.5…1.5)

3.4 Character

정의

  • 단어, 문장처럼 문자의 집합이 아니 단 하나의 문자
  • 유니코드 0 문자를 사용하므로 특수기호, 한글 등 사용 가능
    • let 이름: String = “name” 과 같이 쓸 수 있음

3.5 String

정의

  • 문자의 나열(단어, 문자열 등 ..)
  • String 타입에는 기본적으로 많은 메서드와 프로퍼티들이 구현되어 있으며, 문자열과 관련된 연산자도 많이 정의 되어 있기 때문에 문자열 핸들링이 비교적 쉬움
var name: String = "blair"
var introduce: String = String()
introduce.append("my name is")

introduce = introduce + " " + name
print(introduce)

print("name의 글자수: \\(name.count)")
print("introduce가 비어 있습니까?: \\(name.isEmpty)")

특수문자

  • 특정 기능을 하는 특수문자가 있음

특수문자 설명

\n 개행
\\ \ 표현
\” “ 표현
\t 탭키
\0 문자열이 끝났음을 알리는 null 문자

3.6 Any, AnyObject와 nill

Any와 AnyObject는 될 수 있으면 사용하지 않는 편이 좋으며, 타입은 되도록 명시하여 사용하는 것이 좋음

Any 정의

  • 스위프트의 모든 데이터 타입을 사용할 수 있다는 뜻
var someVar: Any = "name"
someVar = 100
someVar = 1001.1

AnyObject 정의

  • Any보다 한정된 의미로 클래스의 인스턴스만 할당 가능

nil 정의

  • 타입이 아니라 **“없음”**을 나타내는 스위프트의 키워드
  • 값이 비어있음을 나타냄