• 함수 (Function)
    • func <함수이름> (<파라미터 이름>: <파라미터 자료형>)-> <리턴형> { ...... }
    • 반환 타입
      • 파라메터 뒤에 "->" 로 반환타입임을 의미할 수 있다
      • 반환 값이 없을 경우 반환 타입을 포함하지 않음
      • 여러 개의 반환 값 정의 시 ","로 구분되는 복수 입력 반환 타입을 가질 수 있음
        • -> (반환이름 : 반환타입, 반환이름 : 반환타입)
      • 반환 타입의 이름은 꼭 정의 하지 않아도 됨
        • 반환값이 정의 되어있지 않은 함수는 void 타입의 특수값을 반환, ()로 쓰여질 수 있는 빈 튜플(Tuple) 요소를 갖고 있지 않은 튜플
    • 파라메터
      • 함수 이름 다음 괄호 안에 ","로 구분되는 복수 입력 파라메터를 가질 수 있음
      • 파라메터를 받지 않는 다고 하여도 함수 이름 뒤에 "()"를 포함해야 함
      • 함수 파라메터는 함수 내에서만 사용 가능 (지역 파라메터 라고도 함)
      • 함수 인수가 어떤 목적인지 지시하기 위해 함수 사용자에게 파라메터 이름을 제공 할 수 있음, 이를 외부 파라메터 이름(External Parameter Names)라고 하며, 지역 파라메터 이름 앞에 공백으로 구분해서 작성하면 된다.
        • func testFunction(EPName aName:String) {...}
      • 지역 파라메터 이름이 적절하다 싶으면 파라메터 이름 앞에 "#"을 붙이게 되면 외부 파라메터 이름으로도 사용 가능(2.0에서 삭제)
      • 파라메터들은 기본값을 가질 수 있음
        • func testFunction(aName:String = "UNNOWN") {...}
      • 가변 개수 파라메터, "..."키워드를 사용하여 특정 타입의 값을 0개 이상 받을 수 있음
        • func testFunction(nums:double...) {...}, 입력 시 : testFunction(1, 2, 3, 4)
        • 내부에는 double[] 타입의 배열로 만들어 짐
        • 함수는 한개의 가변 개수 파라메터를 가질 수 있음
        • 파라메터 목록의 맨 마지막에 배치
        • 기본 값을 가지는 파라메터 맨 마지막에 두어야 함
      • 함수의 파라메터들은 기본적으로 상수들 임, 가변 파라메터를 정의 하려면 "var" 키워드를 접두어로 사용
        • func testFunction(var aName:String = "UNNOWN") {...}
        • 가변 파라메터는 함수 호출 동안만 유지
      • In-Out 파라메터
        • 함수 내에서만 변경되면 원래의 값을 대체함
        • "inout" 키워드를 접두어로 사용
        • 주소연산자 "&" 붙여 파라메터로 넘겨준다 (C/C++ 다뤄 봤음 알 듯)
        • 파라메터로 넘길 수 있는 값은 인수(argument)뿐, 상수나 문자값은 파라메터로 넘길 수 없음
        • 기본 값을 가질 수 없으며, 가변 개수 및 var, let으로 표시 또는 사용할 수 없음
      • 파라메터 이름 앞에 공백과 "_"를 사용하게 되면 함수 사용 시 파라메터 이름을 생략 할 수 있다 (Omitting External Parameter Names, 2.0에 추가)
      •  Optional Tuple Return Types, 2.0에 추가

    • 함수 타입
    • 중첩 함수 


'Swift > Swift Basic (2.0Base)' 카테고리의 다른 글

Optionals  (0) 2014.12.30
튜플(Tuples)  (0) 2014.12.24
로그 출력  (0) 2014.12.23
변수와 상수  (0) 2014.12.23
Swift특징  (0) 2014.12.23

+ Recent posts