Swift 기초 및 문법 – 함수


기능

func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ....)-> 반환타입 {
	/* 구현부 */
    return 반환값
}

인수 레이블

함수를 호출할 때 그 목적은 함수를 사용하는 사용자 입장에서 매개변수의 역할을 보다 명확하게 표현하는 것입니다.

인수 레이블을 변경하여 동일한 이름을 가진 중복 함수를 만들 수 있습니다.

func 함수이름(전달인자레이블 매개변수1이름: 매개변수1타입, 전달인자레이블 매개변수2이름: 매개변수2타입)-> 반환타입 {
	return
}

func test(to a: String, from b: String) {
	print("\(a), \(b)")
}

func test(x a: String, y b: String) {
	print("\(a), \(b)")
}

test(to: "check", from: "test")
test(x: "check", y: "test") //전달인자 레이블을 통해 중복사용 가능

가변 매개변수

전달할 값의 개수를 알기 어려울 때 사용

함수당 하나의 가변 매개변수만 가질 수 있으며 매개변수 뒤에 배치하는 것이 가장 좋습니다.

func test(a: String, b: String...)-> String {
	return "hello \(a) , \(b)"
}

print(test(a: "hyun", b: "check", "clear", "kei"))
//hello hyun , ("check", "clear", "kei")

print(test(a: "hyun"))
//hello hyun , ()

데이터 유형으로 작동

변수 및 상수에 할당할 수 있으며 매개 변수로 전달할 수도 있습니다.

func test(to a: String, from b: String) {
	print("\(a), \(b)")
}

var someFunction: (String, String)-> Void = test(a:b:)
someFunction("test", "fast")
//타입이 다른 함수는 할당할 수 없음

func runAnother(functon: (String, String)-> Void) {
	function("check", "test")
}

runAnother(function: test(a:b:))

runAntoher(function: someFunction