//함수 정의
func add(x: Int, y: Int) -> Int { //x, y는 parameter
return x + y
}
//함수 사용
add(x: 10, y: 20) //x, y는 argument
//1
func add1(first x: Int, second y: Int) -> Int {
//2
return (x+y)
}
//3
add1(first: 10, second: 20)
//4
func add2(_ x: Int, _ y: Int) -> Int {
return (x+y)
}
//5
add(10, 20)
//6
func add3(_ x: Int, with y: Int) -> Int {
return (x+y)
}
//7
add(10, with: 20)
first와 second는 외부매개변수명
, x와 y는 내부매개변수
명이다.
함수 내부에서 실제로 사용되는 매개변수는 '내부매개변수명
'이다.
함수에 외부매개변수명이 있다면 함수가 실제로 사용시 argument 명을 이 외부매개변수명
으로 지정해줘야 한다.
add(x:10, y:20) -> 오류 발생한다.
외부매개변수명으로 언더스코어( _ )
를 사용가능.
함수 실제 사용시 언더스코어로 외부매개변수명을 지정했다면, 외부매개변수명을 생략한다는 의미이다.
첫번째 외부매개변수명만 생략하였음.
Objective-C언어의 호출 방식이 이러함. 두번째 매개변수부터는 외부매개변수 사용.
//swift Application 구현부 함수도 위 룰을 따르고 있음.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
return true
}