*딕셔너리(해시 테이블) - 자바스크립트, 파이썬.

; 대괄호([])를 사용하여 해시테이블 생성.

var airports = [String : String?] ()
airports["ICN"] = "Inchon International Airport"
airports["ICN"] = nil

*데이터 타입 추론 - 함수형 프로그래밍 언어.

let meaningOfLife = 42
// meaningOfLife is inferred to be of type Int

*데이터 구조체 타입 선언 - C#과 자바.

var namesOfIntegers = Dictionary<Int, String>()
// namesOfIntegers is an empty Dictionary<Int, String>

*문자열 템플릿 - 콜드 퓨전, JSP, 파이썬 등.

; 역슬래시와 함께 소괄호를 작성하고, 그 안에 평가할 식이나 변수를 넣어 출력해준다.

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

*선택 사항인 세미콜론 - 자바스크립트와 파이썬.

; 각 구문을 개별 라인으로 작성할 때는 세미콜론 기호를 입력할 필요는 없다.

 

*프로토콜(인터페이스) - 자바와 C#.

; 클래스 모음의 인터페이스에 대해 '프로토콜(protocol)'이라는 용어를 사용한다.

protocol ExampleProtocol {
  var simpleDescription : String { get }
  mutating func adjust()
}

*튜플(Tuple) - 리스프와 파이썬.

; 근래의 언어는 메소드에서 반환 되는 N개의 값과 여기에 바인딩되는 N개의 변수를 맞추기 위한 명시적인 구문을 제공한다.

func getGasPrices() -> (Double, Double, Double) {
  return (3.59, 3.69, 3.79)
}
getGadPrices()

*자동 참조(가비지 콜렉터 비슷) - 자바, C#, 오브젝티브-C.

; 자동 참조 카운트(ARC - Auto Referencing Counter)를 사용.

 

*부호 있는 정수와 부호 없는 정수 - C#, 오브젝티브-C.

; 1, 2, 4, 8바이트의 부호 없는 정수와 부호 있는 정수를 제공.

let pink : UInt32 = 0xCC6699

let redComponent = (pink & 0xFF0000) >> 16
// redComponent is 0xCC, or 204

let greenComponent = (pink & 0x00FF00) >> 8
// greenComponent is 0x66, or 102

let blueComponent = pink & 0x0000FF
// blueComponent is 0x99, or 153

*클로저(Closure) - 리스트와 스킴에서 자바스크립트까지.

; 소량의 코드를 묶어서 함수처럼 전달. 함수를 1급 객체로 간주, 인자값으로 함수 자체를 전달하는 기능을 제공.

let numbers = [Int]()

numbers.map({
  (number:Int) -> Int in
  let result = 3 * number
  return result
})

*멀티 라인 쿼우팅(Multi-Line Quoting)

; 세 개의 따옴표를 겹쳐(""" ~ """) 이용하면 여러 줄의 문자열을 간편하게 입력 가능.

let query = """
  SELECT member_id, member_name, member_level, nick_name
    FROM member
   WHERE login_id = ? AND password = ?
"""

 

'::public > Swift' 카테고리의 다른 글

tuple  (0) 2022.04.15
var/let  (0) 2022.04.10
Outlet  (0) 2022.04.10
스위프트 특징?  (0) 2022.01.06
구조적 특징  (0) 2022.01.06

+ Recent posts