[swift] 스위프트 투칸의 진화

스위프트는 애플이 개발한 프로그래밍 언어로, 2014년에 발표되었습니다. 스위프트의 주요 특징은 안전성, 속도, 간결성 등입니다. 스위프트는 초기에는 투칸의 문법을 사용했지만, 이후에 계속해서 진화해왔습니다.

1. 스위프트 투칸의 문법

스위프트의 초기 버전에서는 투칸의 문법을 사용하여 변수를 정의하고 사용했습니다. 예를 들어, 다음과 같은 코드를 작성할 수 있습니다.

var name: String = "John"
let age: Int = 30

위의 코드에서 var 키워드를 사용하여 변수를 정의하고, let 키워드를 사용하여 상수를 정의합니다. : 기호를 사용하여 변수의 타입을 지정할 수 있습니다.

2. 단일 투칸 문법의 도입

하지만 스위프트 2.0부터는 단일 투칸의 문법이 도입되었습니다. 이는 변수를 정의할 때 var 또는 let 키워드만 사용하고, 타입은 생략하는 방식입니다. 예를 들어, 위의 코드를 단일 투칸 문법으로 작성하면 다음과 같습니다.

var name = "John"
let age = 30

변수의 타입은 자동으로 추론되기 때문에 생략해도 문제없이 동작합니다. 이로써 코드의 가독성이 향상되고, 코드를 작성하는 시간도 단축될 수 있습니다.

3. 옵셔널의 개선

스위프트의 초기 버전에서는 옵셔널의 처리가 복잡하고 번거로웠습니다. 그러나 스위프트 2.0부터는 옵셔널 체이닝과 옵셔널 포장 벗기기 기능이 도입되어 옵셔널 처리가 훨씬 간편해졌습니다.

옵셔널 체이닝을 사용하면 옵셔널 값이 null인지 여부를 확인하는 과정을 간결하게 만들 수 있습니다. 예를 들어, 다음과 같은 코드를 작성할 수 있습니다.

let optionalName: String? = "John"
let length = optionalName?.count

위의 코드에서 optionalName?.countoptionalName이 null이 아닐 경우에만 count 속성을 접근합니다. null인 경우에는 nil을 반환하게 됩니다.

또한 옵셔널 포장 벗기기 기능을 사용하면 옵셔널 값을 간편하게 언래핑할 수 있습니다. 예를 들어, 다음과 같은 코드를 작성할 수 있습니다.

let optionalName: String? = "John"
if let name = optionalName {
    print(name)
} else {
    print("Name is nil")
}

위의 코드에서 if let name = optionalName 구문을 사용하여 optionalName이 null이 아닌 경우에만 name 변수에 값을 할당하고, 그렇지 않은 경우에는 else 구문을 실행합니다.

참고 자료