Swift / Welcome to Swift(2)

Minsang Kang·2022년 2월 13일
0

Swift

목록 보기
2/5
post-thumbnail

The Swift Programming Language 도서 내용을 토대로 번역 및 요약된 내용입니다.

A Swift Tour

global 범위내에 적힌 코드는 프로그램에서 entry point로 사용되기에 main() 함수가 필요없다.
semicolon(;) 적을 필요가 없다.

Simple Values

constant 값은 compile time 에 알 필요가 없지만, 정확히 한번 값을 할당해야만 한다.
변수는 constant 값인 let, variable 값인 var 가 있다.

var myVariable = 42
myVariable = 50 // 수정 가능한 var 값

let myConstant = 42 // 수정 불가능한 let 값

변수들은 항상 같은 type을 유지하며, compiler 가 type을 추론하며 추론 가능한 type 이어야만 한다.
type을 명확히 명시하는 방법으로는 변수명 뒤에 colon(:) 값을 적은 후 type을 명시할 수 있다.

let implicitDouble = 70.0 // 추론을 통한 Double 값
let explicitDouble: Double = 70 // Double 값 명시

변수들은 절대로 자동적으로 다른 type으로 변환될 수 없으며, type을 명시해야만 다른 type으로 형변환이 가능하다.

let width = 94 // Int
let widthLabel = "The width is" + String(width) // String 형변환을 통한 최종 String 값

변수들을 String 내에 포함시키는 쉬운 방법으로 \() 내에 변수를 넣으면 된다.

let apples = 3
let oranges = 5
let appleSummary = "I have \(apples) apples." // I have 3 apples
let fruitSummary = "I have \(apples + oranges) pieces of fruit." // I have 8 pieces of fruit.

여러줄의 문자열을 표현하고자 할때는 두 """ 사이에 문자열을 표현할 수 있다.

let quotation = """
I said "I have \(apples) apples."
And then I said "I have \(apples + oranges) pieces of fruit."
"""
print(quotation)
// I said "I have 3 apples."
// And then I said "I have 8 pieces of fruit."

Array 배열과 Dictionary 딕셔너리는 [] 를 통해 생성 가능하며, 요소접근은 index 또는 key 값을 통해 접근이 가능합니다.
또한 마지막 요소 끝의 comma(,) 는 허용됩니다.

var shoppingList = ["catfish", "water", "tulips"] // 배열 생성
shoppingList[1] = "bottle of water" // 배열 특정요소 접근 및 값 수정
var occupations = [
    "Malcolm": "Captain",
    "Kaylee": "Mechanic",
] // 딕셔너리 생성, 마지막 인자 끝에 , 가능
occupations["Jayne"] = "Public Relations" // 딕셔너리 특정요소 접근 및 값 수정

배열은 append 함수를 통해 요소추가가 가능합니다.

shoppingList.append("blue paint")
print(shoppingList) // ["catfish", "water", "tulips", "blue paint"]

빈 배열은 [] 통해, 빈 딕셔너리는 [:] 를 통해 생성이 가능합니다.

let emptyArray: [String] = []
let emptyDictionary: [String: Float] = [:]

Reference

다음에서 발췌
docs.swift.org
The Swift Programming Language (Swift 5.5) Apple Inc.
이 자료는 저작권에 의해 보호됩니다.

profile
 iOS Developer

0개의 댓글