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 정의
- 타입이 아니라 **“없음”**을 나타내는 스위프트의 키워드
- 값이 비어있음을 나타냄