Functions(함수)
- 특정 기능을 수행하는 코드 조각
- 언제든지 다시 사용이 가능하다.
쉽게 말해서 나만의 함수를 만드는 것!
calling Functions
함수를 가져다 쓰는 것.
Syntax
functionName(parameters)
Defining Functions
함수를 직접 만들어 쓰는 것.
Syntax
func name(parameters) -> ReturnType {
statments
}
ReturnType에는 함수가 return하는 값의 형식을 선언한다.
그리고 함수의 이름은 lowerCamelCase로 지어야 한다.
parameter는 생략할 수 있다.
아래의 코드가 예가 될 수 있다.
func sayHello() {
print("hello, swift")
}
sayHello()
위처럼 sayHello뒤에 괄호가 빈 상태로 있다.
이것이 바로 파라미터를 생략한 것이다!
하지만 파라미터를 생략했다고 괄호까지 생략할 수는 없다!!!!
여기서 파라미터가 뭔지 한번 짚고 넘어가자.
parameter는 함수 body에서 사용할 수 있는 임시 상수를 말한다.
따라서 parameter의 scope(범위)는 함수 body에 한정한다.
parameter의 lifeCycle은,
함수를 호출 -> 함수 Body 실행 -> parameter 생성 -> 함수 실행 완료 후 자동 삭제.
두가지 이상의 내용을 넣고 싶다면 , 로 구분한다.
func name(name: Type, name: Type) -> returnType {
statements
}
이런식으로 구분해준다.
그리고 Parameter에는 Argument Label, Parameter Name라는 것이 있는데,
Argument Label - 함수를 호출할 때 사용하는 이름
Parameter Name - 함수 내에서 사용할 파라미터의 이름.
요런 식으로
(ArgumentLabel ParameterName: Type)
func sayHello(to name: String) {
print("Hello, \(name)") // 여기서의 name이 Parameter Name!
}
sayHello(to: "배추") // 호출은 이런식으로 이루어짐. 여기서의 to가 Argument Label!
여기서 to가 Argument Label이고, 함수를 호출할때 사용된다.
name이 Parameter Name에 해당하고 받은 파라미터를 함수 내부에서 사용할 때 사용된다!
이제 Argument Label의 생략에 대해서 알아보자.
예를들어서 print를 보자.
func print(_ items: Any...,
이것이 우리가 알고 있는 Print 함수의 원형이다!
여기서 _는 Wildcard Pattern이라고 한다.
우리는 와일드 카드 패턴을 통해서 그동안 생략을 해왔던 것이다.
따라서 생략하면 우리가 알고 있는
func sayHello(_ name: String) {
print("Hello, \(name)")
}
요런식의 코드가 구현되는 것이다!
function의 사용예시는 아래의 글을 참고하면 좋다.
2024.09.30 - [개발일지 TIL] - 운동 관리 시스템을 만들어보자! (function)
참고자료
https://babbab2.tistory.com/77
'Language > Swift' 카테고리의 다른 글
Swift 기본 문법 - 기초 용어 (0) | 2024.10.09 |
---|---|
Swift 기본 문법 - Scope(범위) (2) | 2024.10.07 |
Swift 기본 문법 - Initializer(초기화 메소드) (0) | 2024.09.22 |
Swift 기본 문법 - 타입 캐스팅(Type Casting) 작성중 (0) | 2024.09.20 |
Swift 기본 문법 - 문자열 보간(String interpolation) (0) | 2024.09.20 |
살아남는 iOS 개발자가 되기 위해 끊임없이 노력하고 있습니다.