1. Swift : 타입 어노테이션, 타입 추론(Type Annotation & Type Inference)
**********************************************************************************
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))