함수

2023. 5. 16. 21:07Swift 이해/Swift 문법

저번 시간에는 반복문에 대해 배웠습니다.

이번시간에는 함수에 대해 알아보겠습니다.

 

 

함수 정의

Swift에서의 함수는 재정의(Override) 중복정의(Overload)를 지원합니다.

func 함수명(매개변수명 : 매개변수타입) -> 반환타입 {
	//실행 구문
    return 반환값
}

func : 함수키워드

return : 반환키워드

 

함수는 기본 4가지의 사용방식이 있습니다.

 

1.전달값과 반환값이 모두 있는 경우

func hello(name: String) -> String {
    return "안녕하세요 \(name) 블로그 입니다"
}

hello(name: "오늘도앱개발") // 안녕하세요 오늘도앱개발 블로그 입니다

전달값 : 오늘도앱개발

반환값 : 안녕하세요 오늘도앱개발 블로그 입니다

 

2.전달값과 반환값이 모두 없는 경우

func hello() -> Void {
    print("안녕하세요 오늘도앱개발 블로그 입니다")
}

hello() // 안녕하세요 오늘도앱개발 블로그 입니다

전달값 : X

반환값 : X

전달값이 없는 경우엔 매개변수를 비우고 

반환값이 없는 경우엔 반환타입에 Void를 쓰고 return을 뺍니다.

 

3.전달값은 있고 반환값이 없는 경우

func hello(name: String) -> Void {
    print("안녕하세요 \(name) 블로그 입니다")
}

hello(name: "오늘도앱개발") // 안녕하세요 오늘도앱개발 블로그 입니다

전달값 : 오늘도앱개발

반환값 : X

 

4.전달값은 없고 반환값이 있는 경우

func hello() -> String {
    return "안녕하세요 오늘도앱개발 블로그 입니다"
}

hello() // 안녕하세요 오늘도앱개발 블로그 입니다

전달값 : X

반환값 : 안녕하세요 오늘도앱개발 블로그 입니다

 

이 4가지 사용방식에 

파라미터 기본값  , 전달 인자 레이블  , 가변 매개변수 적용시킬수 있습니다.

 

 

파라미터 기본값은 매개변수의 값을 함수내에 지정해주는 코드입니다.

func blog(name: String = "오늘도앱개발") -> Void {
    print("블로그 : \(name)")
}

blog(name: "ios개발 블로그") // 블로그 : ios개발 블로그
blog() // 블로그 : 오늘도앱개발

 

 

전달 인자 레이블은 외부에서 함수를 호출할 때의 매개변수명과 함수 내부에서 사용되는 매개변수명을 다르게 설정할 때 사용됩니다.

func blog(name develop: String = "오늘도앱개발" ) -> Void {
    print("블로그 : \(develop)")
}

blog(name: "ios개발 블로그") // 블로그 : ios개발 블로그
blog() // 블로그 : 오늘도앱개발

 

 

가변 매개 변수는 매개 변수 개수가 일정하지 않을때 사용합니다. (단, 매개변수 마지막에 선언)

func blog(name : String , keyword: String...  ) -> Void {
    print("블로그 : \(name), 키워드 : \(keyword)")
}

blog(name: "오늘도앱개발", keyword: "ios" , "swift" , "개발자")
// 블로그 : 오늘도앱개발, 키워드 : ["ios", "swift", "개발자"]

 

'Swift 이해 > Swift 문법' 카테고리의 다른 글

[Swift] 프로퍼티 옵저버  (0) 2023.06.19
반복문  (0) 2023.05.14
조건문  (0) 2023.05.07
컬렉션 데이터 타입  (0) 2023.05.04
변수와 상수 , 자료형 , 기본 데이터 타입  (0) 2023.05.03