조앤의 기술블로그

Functions #1 (function, return type, parameter) 본문

Study/Swift

Functions #1 (function, return type, parameter)

쬬앤 2020. 2. 18. 14:21

Swift에서 함수(Function), 파라미터, Argument Label에 대해 포스팅해보겠습니다. 

 

<Functions>

함수는 특정 기능을 수행하는 코드 조각입니다. 

함수를 사용하는 것의 장점은 'Reusability'입니다. 코드에서 불필요한 반복이 줄어듭니다. 

 

[Calling Functions]

//functionName(parameters)

print("Hello")

 

[Defining Functions]

/*
func name(parameters) -> ReturnType {
	statements
}
*/

func sayHello() {
	print("Hello World!")
}

sayHello()

 

<Return Values>

func add() -> Int {
	return 1 + 2
}

add()

함수가 리턴한 것은 함수를 호출한 곳으로 갑니다. 

 

[return 키워드]

함수의 실행을 중지하고, 표현식 평가 후 그 결과를 리턴합니다. 

 

<Parameters>

// formal parameter

func add(a: Int, b: Int) -> Int {
	//a = 12 //error
    return a + b
}

파라미터는 함수 body에서 사용할 수 있는 임시 '상수'입니다. 

따라서 body 내부에서 값을 변경할 수 없습니다. 

 

[Calling Functions]

// functionName(paramName: expr)

add(a: 12, b: 34)

12, 34를 actual parameter, argument 또는 인자 라고 부릅니다.

인자가 formal parameter로 복사되어서 사용됩니다. 

 

[Default Value]

func sayHello(to: String = "Stranger") {
	print("Hello, \(to)")
}

sayHello(to: "Swift")
sayHello() // Stranger

기본값을 지정해주는 방법입니다. 

파라미터에 아무런 값도 전달하지 않았을 때 default value인 stranger가 출력됩니다. 

 

[Scope, Life Cycle]

파라미터의 범위와 생성, 삭제의 Lift Cycle은 함수 바디로 제한됩니다. 

 

 

Argument Label, Variadic Parameters, In-Out Parameters, Function Notation 에 관한 내용은 다음 포스팅에서 하겠습니다. 

감사합니다. 

 

 

참고 : KxCoding.com 

 

'Study > Swift' 카테고리의 다른 글

Tuples (튜플)  (0) 2020.02.18
[Swift] Functions #2  (0) 2020.02.18
[Swift] guard Statement (guard문)  (0) 2020.02.16
[Swift] Structures and Classes (구조체와 클래스)  (0) 2020.02.16
[Swift] 클로저 (Closure)  (0) 2020.02.16