티스토리 뷰

Computer Language/Swift

함수(Function)

LIFO 2018. 6. 18. 09:30

1. Defining Functions

  • func 함수 이름(매개변수 이름: 매개변수 타입) -> 반환 타입 { 함수 내용 }

1
2
3
func ex_func(test: String-> Void {
    print(test)
}



  • 매개변수와 반환값이 없는 경우
1
2
3
func noParamFunc() {
    print("noParamFunction")
}



  • 매개변수가 여러개인 경우
1
2
3
func multiParamFunc(A: Int, B: Int-> Int {
    return A + B
}



  • 반환값이 여러개인 경우 ☞ 튜플 형태로 반환
1
2
3
func multiReturnValue (first: Int, last: Int-> (start: Int, end: Int) {
    return (first, last)
}
cs


  • 매개변수 기본값 설정
1
2
3
4
5
6
func defaultparam(param: String = "default value"-> String {
    return param
}
 
print(defaultparam()) // Console: default value
print(defaultparam(param: "not default value")) // Console: not default value




2. Argument Labels

  • 매개변수 앞에 전달인자 레이블을 추가하여 함수 호출시 전달인자 레이블을 통해 호출


1
2
3
4
5
6
7
8
9
10
11
12
13
14
func Argumentfunc(Argu1: String, label Argu2: String-> String {
    return "Argu1 : \(Argu1), Argu2 : \(Argu2)"
}
 
print(Argumentfunc(Argu1: "param", label: "Argument label"))
 
 
// 전달인자 레이블 생략(Omitting Argument label)
func OmitArgu(_ Argu1: String, label Argu2: String-> String {
    return "Argu1 : \(Argu1), Argu2 : \(Argu2)"
}
 
print(OmitArgu("omit", label: "Argument label"))
 



3. Variadic Parameters

  • 전달 받을 매개변수 값의 개수가 유동적일 경우 
  • 가변 매개변수는 함수당 하나만 가질 수 있음
1
2
3
4
5
func variadic(_ numbers: Double...) -> Int {
    return numbers.count
}
 
variadic(38.2518.75)




4. Function Type

  • 함수를 변수, 상수 등에 할당가능하며 매개변수를 통해 전달할 수 있음
1
2
3
4
5
func functiontype(type: String, name: String-> Void {
    print("function type : \(type), function name : \(name)")
}
var varfunction: (StringString-> Void = functiontype(type:name:)
varfunction("function type""function name")




Reference: https://docs.swift.org/swift-book/LanguageGuide/Functions.html






'Computer Language > Swift' 카테고리의 다른 글

반복문(Loops)  (0) 2018.06.20
조건문(Conditional Statements)  (0) 2018.06.19
컬렉션 타입(Collection type)  (0) 2018.06.17
자료형(Data type)  (0) 2018.06.16
상수와 변수(Constants and Variables)  (0) 2018.06.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함