Moon Work

[Swift] Swift 기본 문법 정리 2: 함수 본문

Swift

[Swift] Swift 기본 문법 정리 2: 함수

moonkey 2022. 12. 16. 17:04

Swift 기초 1

2022.12.15 - [Swift] - [Swift] Swift 기본 문법 정리 1

 

[Swift] Swift 기본 문법 정리 1

Mac에서 Swift 시작하기 mac에서 ios 개발을 위해서는 기본적으로 맥북에 제공되는 xcode를 통해 가능하다. (없는 경우 앱스토어에서 다운로드) Create a new Xcode project를 클릭한뒤, 상단 바에서 File - New -

moon-works.tistory.com

 

함수 기본

선언

func 함수이름(매개변수1이름: 매개변수1타입, ...) -> 반환타입 {
	...
}
//반환값이 없는 경우
func 함수이름(매개변수1이름: 매개변수1타입, ...) -> Void {
	...
}
//매개변수가 없는 경우
func 함수이름() -> Void {
	...
}

호출

 

fund addNum(numA: Int, numB: Int) -> Int {
	return a + b
}
// 3
print(addNum(numA: 1, numB: 2))

 

함수 매개변수

매개변수에 기본값 설정하기

func addNum(numA: Int, numB: Int = 10) -> Int {
	return a + b
}

전달인자 레이블 사용하기

  • 전달인자 레이블: 매개변수에 레이블을 달아서 함수를 호출할 때 매개변수의 이름이 아닌 전달인자 레이블 이름으로 전달해서 보다 매개변수의 역할을 분명하게 한다.
  • 단, 전달인자 레이블을 사용할 경우 함수 내에서는 '매개변수 이름'으로 사용해야하고 호출할 때는 '전달인자 레이블' 이름으로 할당해서 호출해야 한다.
func 함수이름(전달인자_레이블 매개변수1이름: 매개변수1타입) -> 반환타입 {
	...
}

func sendMoney(from userFrom: String, to userTo: String) -> Void {
	print("\(userFrom) send money to \(userTo)")
}
sendMoney(from: "A", to: "B")

 

가변 매개변수

  • 전달 받는 매개변수의 개수를 알기 어렵거나 매개변수를 중복해서 보내지 않고 싶을 때 사용할 수 있다. 
  • 하나의 매개변수에 여러개의 값을 할당해서 호출하면 함수 내에서 array의 형태로 사용할 수 있다.
  • 함수당 하나만 사용할 수 있다.
  • 매개변수 중 제일 뒤에 위치한다. 
  • 매개변수 타입 뒤에 ...을 붙여서 사용한다.
func 함수이름(매개변수1이름: 매개변수2타입, 매개변수2이름: 매개변수2타입...){}

func sendMoney(from: String, to: String...){
	print("/(from) send money to \(to)")
}
//from A send money to ["B", "C", "D"]
sendMoney(from: "A", to: "B", "C", "D")

 

함수타입과 함수할당

  • 함수의 타입을 매개변수와 반환타입을 통해 지정할 수 있다.
  • 함수타입과 일치하는 함수를 다른 함수에 할당할 수 있다.
func sendMoney(friends: String...) {
    print("I send money to \(friends)")
}

var sendMoneyInst: (String...) -> Void = sendMoney(friends:)
sendMoneyInst("austin", "hi")