[iOS][Swift] Swift 기본 문법

Jay·2023년 7월 17일
0

iOS

목록 보기
1/47

변수와 상수

Swift에서는 var 키워드를 사용하여 변수를 선언하고, let 키워드를 사용하여 상수를 선언합니다. Swift는 타입 추론을 지원하기 때문에, 변수나 상수를 선언할 때 명시적으로 타입을 지정하지 않아도 됩니다.

var myVariable = 42
let myConstant = 12

타입 어노테이션

변수나 상수의 타입을 명시적으로 지정하고 싶을 때는 변수 또는 상수 이름 뒤에 콜론(:)을 붙이고 타입을 적으면 됩니다.

var myVariable: Double = 42.0
let myConstant: String = "Hello"

조건문

if, else if, else 문을 사용하여 조건문을 작성할 수 있습니다. 또한 switch 문을 사용하여 여러 조건을 표현할 수도 있습니다.

var temperature = 30
if temperature > 30 {
    print("It's hot!")
} else if temperature < 10 {
    print("It's cold!")
} else {
    print("It's just right!")
}

반복문

Swift에서는 for-in 문을 사용하여 시퀀스(배열, 범위 등)를 반복할 수 있습니다. 또한 while 문과 repeat-while 문을 사용하여 조건에 따라 코드를 반복 실행할 수도 있습니다.

for i in 1...5 {
    print(i)
}

함수

Swift에서는 func 키워드를 사용하여 함수를 선언합니다. 함수의 매개변수와 반환 타입은 함수 이름 다음의 괄호 안에 정의됩니다.

func greet(name: String) -> String {
    return "Hello, \(name)!"
}

클래스, 구조체, 열거형

class, struct, enum 키워드를 사용하여 클래스, 구조체, 열거형을 정의할 수 있습니다. 이들은 모두 메소드를 가질 수 있고, 구조체와 열거형은 값 타입이며 클래스는 참조 타입입니다.

class MyClass {
    var myVariable = 0
    func myMethod() {
        print("Hello from MyClass!")
    }
}

struct MyStruct {
    var myVariable = 0
    func myMethod() {
        print("Hello from MyStruct!")
    }
}

enum MyEnum {
    case caseOne, caseTwo, caseThree
}

옵셔널

Swift에서 옵셔널은 값이 존재할 수도, 존재하지 않을 수도 있는 상황을 표현하는 데 사용됩니다. 옵셔널 타입은 해당 타입 뒤에 물음표(?)를 붙여서 표시합니다. 옵셔널 값에 접근하기 위해서는 옵셔널 바인딩 또는 강제 언래핑을 사용합니다.

var optionalString: String? = "Hello"
print(optionalString) // Optional("Hello")

Tuple

Swift의 튜플은 여러 값들을 단일 복합 값으로 묶을 수 있게 합니다. 튜플 내 각각의 값은 서로 다른 타입을 가질 수 있습니다. 튜플은 함수에서 여러 값을 반환할 때 유용하게 사용됩니다.

let httpStatus = (404, "Not Found")
let (statusCode, statusMessage) = httpStatus
print("The status code is \(statusCode)")
print("The status message is \(statusMessage)")

Any

Swift의 Any 타입은 모든 타입의 인스턴스를 저장할 수 있습니다. 이는 함수나 메서드에서 여러 타입을 수용하거나 반환할 때 유용하게 사용될 수 있습니다.

var things: [Any] = []
things.append(0)
things.append("hello")
things.append((3.14, "Pi"))

Set

Swift의 Set은 순서가 없는 고유한 값의 컬렉션입니다. Set은 배열과 비슷하지만, Set에는 같은 값이 두 번 이상 나타날 수 없습니다. Set은 특정 항목이 포함되어 있는지 빠르게 확인할 수 있는 구조로, 항목의 순서나 위치가 중요하지 않을 때 유용합니다.

var favoriteGenres: Set<String> = ["Rock", "Classical", "Hip hop"]
favoriteGenres.insert("Jazz")

Dictionary

Swift의 Dictionary는 키-값 쌍의 컬렉션입니다. 각 키는 해당 딕셔너리 내에서 고유해야 합니다. 딕셔너리는 키를 사용하여 값을 빠르게 검색할 수 있어, 값을 정렬할 필요가 없거나 값을 키와 연결하여 저장할 때 유용합니다.

var airportCodes: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
airportCodes["LHR"] = "London Heathrow"
profile
Junior Developer

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

좋은 글 잘 읽었습니다, 감사합니다.

답글 달기