The Swift Programming Language 키워드 정리 - 1

Tae-Kyun Kim·2022년 4월 26일
1

C와 Python 베이스인 사람 입장에서 Swift 언어에서 새로 등장하는 개념 혹은 키워드를 정리해보았습니다. https://bbiguduk.gitbook.io/swift 해당 공식문서 번역 Gitbook에 키워드에 대한 설명이 나와있습니다.

기본 연산자

  • Nil 병합 연산자 a ?? b
  • 범위 연산자 for index in 1...5 {

문자열과 문자

문자열 다루는 거 볼때 다시 보야야할 듯

  • Swift의 String은 Foundation프레임워크의 NSString이 bridge된 타입이기 때문에 NSString
    의 메소드를 String에서 캐스팅 없이 사용 가능 -> 뒤에 dict도 마찬가지
  • 문자열이 비어있는지 여부를 확인하기 위해서는 isEmpty 프로퍼티를 이용
  • Swift의 String은 값 타입(value type).
    var name = 'cozy'
    var newname = name
    name = 'noasdaq'
    newname
    // 'cozy'
  • Double은 Double 끼리 곱함
    let multiplier = 3
    \(Double(multiplier) * 2.5)
    // 7.5
  • startIndex, endIndex , index(before:), index(after:), index(_:offsetBy:)
  • 스위프트는 배열의 인덱스 접근 불가능
    var welcome = 'hello'
    welcome[1]
    // error
  • 부분 문자열은 서브스크립트 메소드를 이용. 단기간에 사용하는게 아니라 오랜기간 사용 (메모리가 올라가고 나고도 이후를 말하는듯) 하면 문자열 인스턴스로 바꿔서 사용

콜렉션 타입

  • 배열, 셋, 사전 세 가지를 지원
  • 빈 배열 생성
    var someInts = [Int]()
  • 배열과 셋 모두 [] 괄호에 표현
  • 값 바인딩
  • 제어 전송 구문
    • fallthrougth: 이후의 case 에 대해서도 실행
    • 레이블 구문
      labelName: while condition {
      	statements
      }
      • label 이름과 while 조건을 넣어 특정 구문을 실행하는 구문으로 사용
    • guard: 특정 조건을 만족하지 않으면 이 후 코드를 실행하지 않도록 방어코드를 작성
    • 이용 가능한 API 버전 확인
      if #available(iOS 10, macOS 10.12, *) {
      	//
      } else {
      	//
      }

함수

  • 함수 파라미터와 반환 값
    • 인자 라벨 지정 (Specifying Argument Labels) func greet(person: String, from hometown: String) -> String {
    • 인자 생략 (Omitting Argument Labels) func someFunction(_ firstParameterName: Int, secondParameterName: Int) {someFunction(1, secondParameterName: 2)
    • 집합 파라미터 (Variadic Parameters) func arithmeticMean(_ numbers: Double...) -> Double {
    • 인-아웃 파라미터 (In-Out Parameters) : 포인터를 넣어준다고 생각하면 편함 func swapTwoInts(_ a: inout Int, _ b: inout Int) {

0개의 댓글