티스토리 뷰
1. Swift : 타입 어노테이션, 타입 추론(Type Annotation & Type Inference)
INSWAG 2018. 5. 14. 21:29**********************************************************************************
Topic. 타입 어노테이션 & 타입 인퍼런스(Type Annotation & Type Inference)
타입 어노테이션(Type Annotation) ?
변수/상수 선언 시 사용될 자료의 타입을 명확히 지정.
**********************************************************************************
- 타입 어노테이션 : "변수/상수 변수/상수명 : 타입 = 값"
Case 1.
let thisYear : Int = 2018 // Int(정수)로 타입이 선언되어 정수가 아닌
"dfnownfo"(String), 10.5(Double)와 같은 값들은 다 에러 발생.
// 위의 상수 선언은 타입의 선언과 초기화가 된 상태.
Case 2.
let name : String // 먼저 타입만 지정해주고 나중에 값을 넣을 수도 있음.
name = "INSWAG"
// 만약 값을 넣어주고 아래와 같은 if문을 작성한다면, 값의 수정이 불가능한 상수의 특성 때문에 오류 발생할 수 있음.
if true {
name = "INSWAG"
} else {
name = "Developer"
}
print(name)
Case 3.
var score1, score2, score3 : Double
// print(score1) : 만약 초기화되지 않은 상태에서 왼쪽의 문장처럼 작성하면 오류 발생.
score1 = 55.0
score2 = 50.1
score3 = 75
****************************************************************************
Topic. 타입 어노테이션 & 타입 인퍼런스(Type Annotation & Type Inference)
타입 인퍼런스(Type Inference) ?
* 변수/상수 선언 시 초기화로 사용되는 값의 타입을 통해 변수/상수의 타입을 추론하여 적용하는 것
****************************************************************************
- 타입 인퍼런스 : "변수/상수 변수/상수명 = 값"
Case 1.
let name = "Inswag"
print(type(of : name)) // 컴파일러는 "Inswag"가 입력된 것을 보고 자동으로 Stirng 타입으로 추론한다.
이것을 타입 인퍼런스라고 한다.
// Ref. type(of : name) 은 값의 타입을 확인하는 구문이다.
Case 2.
let number = 4
print(type(of : number)) // Int 추론
Case 3.
var centimeter = 6.4
// 만약 이 경우처럼 Float인지 Double인지 명확히 표현해줘야 하는 상황일 때는 타입 어노테이션을 해줘야 한다.
기본은 'Double' 타입으로 지정.
print(type(of : centimeter)) // 위의 설명이 이해가 안됐다면 Playground에 프린트하여 값의 타입을 확인해보자.
Case 4.
var spelling = ["I", "N", "S", "W", "A", "G"] // 집단 자료형 Array 구문 사용. 나중에 Array에 대해서 정리하고자 한다.
print(type(of : spelling))
'Programming > Swift' 카테고리의 다른 글
1. Swift : 함수(function) (0) | 2018.05.16 |
---|---|
1. Swift : 타입 변환(Type Conversion) (0) | 2018.05.16 |
1. Swift : 리터럴, 타입(Literals & Types) (+ 타입 앨리어스) (0) | 2018.05.16 |
1. Swift : 연산자(Operator) (0) | 2018.05.15 |
1. Swift : 변수와 상수(Constants & Variables) (0) | 2018.05.14 |
- Total
- Today
- Yesterday
- GCD
- 리터럴
- 패캠
- 프로그래밍
- Swift
- ios
- ARC
- 깃허브
- 컨버전
- OOP
- array
- 개발스쿨
- 타입
- tca
- Operator
- 열거형
- fastcampus
- swiftUI
- lifecycle
- fallthrough
- iOS개발스쿨
- Dictionary
- var
- 딕셔너리
- 스위프트
- 튜플
- function
- commit
- 패스트캠퍼스
- inswag
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |