Swift
: 정적 타이핑 언어(정의 시 자료형 명시해주어야 하는 언어)
: 타입추론(자료형을 명시하지 않아도 정적 타이핑이 가능하게 하는 것)
정적 타이핑 언어이지만 타입추론이 가능하다면
타입을 명시(Type Annotation)해야 하는지, 타입 추론(Type Inference)을 이용해야 하는지
실무에서의 방법이 궁금,,
변수(Variable)
: 값 변경 가능
var name: String = "Ahhye" //Type Annotation
var name = "Ahhye" //Type Inference
상수(Constant)
: 값 변경 불가능
let name: String = "Ahhye" //Type Annotation
let name = "Ahhye" //Type Inference
* 자료형이 다르다면 연산이 불가능 → 형변환 필요
let x: Int = 20
let y: Float = 20.5
x + y // 컴파일 에러
Float(x) + y // 40.5
* Int/Float → String
String(x) + " 더하기 " + String(y) + "는 40.5입니다."
// "\(x) 더하기 \(y)는 40.5입니다."
배열(Array)
var names: [String] = [] //빈 배열 선언
var names = [String]() //빈 배열 선언
var students: [String] = ["Ahhye", "Eunseo", "Jisu", "Yuhyeon"] //Type Annotation
var students = ["Ahhye", "Eunseo", "Jisu", "Yuhyeon"] //Type Inference
students[1] //Eunseo
딕셔너리(Dictionary)
var majors: [String: String] = [:] //빈 딕셔너리 선언
var majors = [String: String]() //빈 딕셔너리 선언
var majors: [String: String] = [
"Ahhye": "living design",
"Eunseo": "computer engineering",
"Jisu": "electronic engineering",
"Yuhyeon": "drawing",
] //Type Annotation
var majors = [
"Ahhye": "living design",
"Eunseo": "computer engineering",
"Jisu": "electronic engineering",
"Yuhyeon": "drawing",
] //Type Inference
majors["Jisu"] //electronic engineering
* 배열과 딕셔너리도 let으로 선언 시 값 수정 불가능
'iOS' 카테고리의 다른 글
[iOS/Swift] 3. 옵셔널, 옵셔널 바인딩 (0) | 2021.02.08 |
---|---|
[iOS/Swift] 2. 조건문, 반복문(if, switch-case, for, while, repeat-while) (0) | 2021.02.02 |
[iOS/Swift] Virtualbox의 mac vdi 고정 용량 늘리기 (0) | 2021.01.22 |
[iOS/Swift] Virtualbox로 macOS 실행 시 네트워크 연결이 안 될 때 (0) | 2021.01.21 |
[iOS/Swift] Virtualbox로 macOS 설치 시 할당할 디스크가 뜨지 않을 때 (0) | 2021.01.21 |