반응형
Type Safety and Type Inference
Type 검사는 다른 Type의 값으로 작업할 때 오류를 방지하는 데 도움이 된다. 그러나 선언하는 모든 상수와 변수의 Type을 지정해야 하는 것은 아니다.
Type을 지정하지 않으면 Swift는 적절한 Type을 추론한다. Type추론은 컴파일러가 제공되는 값을 추정함으로써 컴파일 할 때 특정 식의 Type을 자동으로 추론할 수 있게 한다.
이로인해 Swift는 C나 Objective-C와 같은 언어보다 Type 선언을 훨씬 적게 요구한다.
Type 추론은 상수 또는 변수를 초기 값으로 선언할 때 특히 유용하다. 이것은 흔히 선언하는 시점에서 상수나 변수에 리터럴 값을 할당함으로써 이루어진다.
(리터럴 값은 다음과 같이 소스 코드에 직접 나타나는 값이다. 42나 3.14159 처럼)
예를 들어, 42의 리터럴 값을 할당하는 경우 정수처럼 보이는 숫자로 초기화를 했기 때문에 Swift는 Int로 추론하게된다.
let meaningOfLife = 42
// meaningOfLife is inferred to be of type Int
마찬가지로, 부동 소수점 리터럴의 Type을 지정하지 않으면 Swift는 Double로 추론한다.
let pi = 3.14159
// pi is inferred to be of type Double
정수 리터럴과 부동 소수점 리터럴을 결합하는 경우,
let anotherPi = 3 + 0.14159
// anotherPi is also inferred to be of type Double
3에는 명시적 Type이 없고, 부동 소수점 리터럴이 추가 되므로 더블로 추론된다.
Numeric Literals
정수 리터럴
정수 리터럴은 다음과 같이 쓸 수 있다.
- 접두사가 없는 십진수
- 이진수, 0b 접두사를 붙이다
- 8진수, 0o 접두사를 붙이다
- 16진수, 0x 접두사를 붙이다
정수 17 에 대해 위의 케이스로 모두 변환하는 경우,
let decimalInteger = 17
let binaryInteger = 0b10001 // 17을 2진수로 표현
let octalInteger = 0o21 // 17을 8진수로 표현
let hexadecimalInteger = 0x11 // 17을 16진수로 표현
반응형
'Develop > Swift' 카테고리의 다른 글
Advances in Collection View Layout (0) | 2022.09.04 |
---|---|
Figma 자동 익스포트 for Xcode, Android Studio (0) | 2022.08.28 |
[iOS][Swift] WiFi AP 목록 스캔 또는 장치 연결 (1) | 2022.08.28 |
Swift 요약 1 (0) | 2022.05.08 |
Swift Basics 1부 (0) | 2022.05.06 |