본문 바로가기

ETC

Swift 문법 간단 정리 #2

  • function
    • func getColor(string: String) -> (red: Int, green: Int, blue: Int) {}
      • println(“\(returnVal.red) and \(returnVal.green) and \(returnVal.blue)”)
    • func makeColor(c1: Int, c2: Int, c3: Int)
      • func makeColor(withRed c1: Int, withGreen c2: Int, withBlue c3: Int)
      • 말을 만드는 것처럼 함수를 호출할 수 있게 (sentence-like)
      • func makeColor(#red: Int, #green: Int, #blue: Int)
        • 함수 내, 외부에서 같은 이름으로 파라미터를 사용
      • func makeColor(withRed c1: Int, withGreen c2: Int, withBlue c3: Int = 100)
      • func makeColor(c1: Int, c2: Int, c3: Int = 100)
        • makeColor(100, 100, c3: 150)
    • func joinItems(items: String…)
      • 가변 갯수 파라미터는 항상 파라미터 목록 마지막에
    • func sample(var name: String, count: Int)
      • var로 선언하면 함수 내에서 값을 변경할 수 있음
      • 함수 실행 중에 변경된 값이 함수 실행 후의 값에 영향을 주지는 않음
    • func sample(inout a: Int, inout b: Int)
      • var val1 = 100
      • var val2 = 200
      • sample(&val1, &val2)
      • 함수 밖의 값에 영향을 미침
    • 함수 타입
      • 파라미터와 반환값의 타입으로 구성
        • (String, Int) -> String
      • var func1: (Int, Int) -> Int = func2
        • (Int, Int) -> Int 함수 타입인 func1을 정의하고 func1은 func2를 참조한다
      • func function3(func1: (Int, Int) -> Int, a: Int, b: Int)
      • 반환값으로 사용하는 함수 타입
        • func sample1(input: Int) -> Int {}
        • func sample2(input: Int) -> Int {}
        • func chooseOne(left: Bool) -> (Int) -> Int { return left ? sample1 : sample2 }
        • let sample4 = chooseOne(false)
          • sample4는 sample2를 가리킨다
    • 중첩 함수
      • func chooseOne(left: Bool) -> (Int) -> Int {
            func sample1(input: Int) -> Int {return 1}
            func sample2(input: Int) -> Int {return 1}
            return left ? sample1 : sample2
        }
      • 외부에서는 sample1, sample2에 접근하지 못함


반응형