*딕셔너리(해시 테이블) - 자바스크립트, 파이썬.
; 대괄호([])를 사용하여 해시테이블 생성.
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 = ?
"""