원래는 map, filter, reduce 함수를 작성하려고 했지만 함수를 먼저 알아두면 좋을거 같아서 오늘 작성할 내용은 함수 이다.
함수, 메서드
공부를 하려고 블로그 같은곳을 보다보면 함수와 메서드란 말을 볼수 있다.
둘이 생긴게 똑같고 쓰는법도 똑같은거 같은데 무슨차이인지 검색해 보았다.
함수
func 으로 생성한 모든것을 함수라고 한다.
func function() {
print("함수입니다.")
}
메서드
클래스, 구조체 속에 포함 되어있는 함수를 말한다.
함수가 더 큰개념이다.
struct example {
func method() {
print("메서드 입니다.")
}
}
Argument Label과 Parameter Name
함수를 만들때 파라미터 이름을 설정해 줄것이다. 이 파라미터 이름과 별개로 메서드를 호출할때 인자로 사용되는 이름을 지정해 줄수 있다. 그게 바로 Argument Label 이다.
func labelMethod(label param: String) {
print("\(param) 입니다.")
}
labelMethod(label: "파라미터")
func labelMethod(param: String) {
print("\(param) 입니다.")
}
labelMethod(param: "파라미터")
Argument Label 을 쓰지 않으면 Parameter Name이 Argument Label이 된다.
Wildcard Pattern
함수를 호출 할 때 Argument Label 쓰기싫으면 _ 를 변수명앞에 써주면 호출 할때 Argument Label을 생략하고 호출할수 있다.
func labelMethod(_ param: String) {
print("\(param) 입니다.")
}
labelMethod("파라미터") //파라미터 입니다.
파라미터와 리턴타입
파라미터는 없어도 ()는 생략하면 안된다. 하지만 리턴값이 없을경우에는 생략해도 된다.
func returnThree() -> Int { //()생략불가
return 3
}
func printThree() { //리턴타입 화살표와 Int 생략가능
print(3)
}
'Swift' 카테고리의 다른 글
Swift) 고차함수 map (0) | 2024.05.09 |
---|---|
Swift) 클로저 Closure (0) | 2024.05.09 |
Swift) 기본 연산자 (2) | 2024.05.01 |
Swift) 옵셔널(Optional) (0) | 2024.04.29 |
Swift) var 와 let의 차이 (0) | 2024.04.25 |