티스토리 뷰

**********************************************************************************

 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))




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함