VesselWheel

[SwiftUI] Type Conversion & Type Casting의 개념 본문

Xcode Study

[SwiftUI] Type Conversion & Type Casting의 개념

JasonYang 2023. 4. 24. 20:44

import UIKit

 

// Type Conversion

//   ㄴ 메모리에 저장된 값 자체를 형변환함

// Type Casting

//.  ㄴ 메모리에 저장된 값은 형변환하지 않고

//      compiler 가 다른 형식으로 처리하게 함

 

// 형변환 형식 : 타입(값)

 

let num1 = 1234

let num2 = 12.34

 

// 두 변수의 type 을 같게 해야 오류가 발생하지 않음

print(Double(num1) + num2)

print(num1 + Int(num2))

 

// Int8(정수) : Int8 type 에서

// 저장할 수 없는 크기인 경우,

// Int8보다 큰 type 으로 conversion

// 해야 됨

let num3 = Int16(num1)

 

// 123 은 Int8 type으로

// 저장할 수 있는 값이어서

// Int8(num1_1) 이 가능함

let num1_1 = 123

let num3_1 = Int8(num1_1)

 

// Int8 type 의 값을 할당받으면

// num4 의 type 도 Int8 이 됨

let num4 = Int16(num1)

 

// Int type 의 최댓값 할당하기

let num5 = Int.max

// Int type 의 최댓값은

// Int64 type 으로 저장할 수 있음

// let num6 = Int8(num5)

let num6 = Int64(num5)

print(num5, num6)

 

// 문자열을 숫자로 conversion 하기

//. ㄴ 숫자 모양의 문자열만 가능함

let str1 = "123"

let num7 = Int(str1)

 

let str2 = "hello"

 

// 숫자 모양이 아닌 문자열을

// Int type 으로 형변환하는 경우,

// nil 을 반환함

// Int(str2) : str2 에 할당된

// "hello" 를 정수로 변환한 값이 없으므로

// nil(없는 값) 을 반환함

let num8 = Int(str2)