상세 컨텐츠

본문 제목

[Day2] Types of Data

Swift&SwiftUI

by (방울)도마토 2024. 4. 7. 22:43

본문

자료형을 명확하게 정의해야 하는 이유

- 결합 연산을 처리하기 위해선 양쪽 값이 어느 한쪽의 타입으로 통일되어야 함 

    - 문자에 대한 결합 연산 : 문자열을 이어 붙이는 것 

    - 숫자에 대한 결합 연산 : 두 수를 더하는 것 

    - 문자와 숫자를 결합 연산으로 수행하는 경우 오류로 처리 

 

- 값의 종류가 일치해야만 그에 맞는 처리가 가능 

- 문자냐 숫자냐의 차이에 따라 준비해야 할 메모리 공간의 크기가 달라져야 함 

 

 

기본 자료형

- Int : Integer, 정수

- Double, Float : 실수(부동소수점), Double(64bit) > Float(32bit)

- Bool : 논리값(참/거짓)

- String : 문자열, 큰따옴표(")를 사용해서 표현

- Character: 한 개의 문자를 저장할 수 있는 단일 자료형, String 타입에 저장된 문자열을 하나씩 분해하면 Character

 


Type annotation and Type Inference

Type annotation

- 변수나 상수를 선언 시 그 타입을 명시적으로 선언해 줌으로써 어떤 타입의 값이 저장될 건지 컴파일러에 직접 알려주는 것 

var year : Int // 명시적인 Int 타입 
var name : String // 명시적인 String 타입

 

Type Inference

- 변수나 상수를 초기화할 때 입력된 값을 분석하여 변수에 적절한 타입을 컴파일러가 스스로 추론하는 기능 

var year = 2024 // Type Inference를 통해 Int 자료형임을 컴파일러가 추론

 

Type annotation 을 사용해야 하는 경우 

1. 선언과 초기화를 분리할 경우 

2. 다른 타입을 직접 지정할 필요가 있을 때

var temper 1 = 3 // 컴파일러에서는 Int로 처리 
var temper 2 : Float = 3 // 컴파일러에서는 Float로 처리(3.0)

 

 


타입이 다른 변수끼리의 결합 

var stmt = "졸린 마토의 키는"
var height = 171

var heightstmt = stmt + String(height)
	// "졸린 마토의 키는 171"

- String(), Int()

    - 기존의 변수를 문자열 또는 정수 타입으로 바꾸는 것이 아니라 새로운 문자열 또는 정수형 인스턴스를 생성함

    - 문자열을 정수로 변환할 때는 문자열 자체가 정수로 변환 가능한 값이어야 함("123", "100")

 

 

문자열 템플릿

- \(변수명 또는 리터럴)

var apple = 1
var orange = 2
var melon = 3

var desc = "과일은 총 \(apple+orange+melon)개 입니다."
print(desc)
	// 과일은 총 6개 입니다.

 

 

Quoting

- 문자열을 따옴표로 묶어서 표시하는 방법 

- swift에서 여러 줄의 문자열을 처리할 경우 Multi-line String 또는 Triple Quoting 을 사용 

let = """
아유 넘 졸립지만
그래도 나는 오늘 
회고록까지는 쓰고 잔다
정처기 실기도 해낸다
"""
// python과 비슷한 형태 
// 자동으로 줄바꿈이 됨

 

관련글 더보기

댓글 영역