함수 부르기
functionName(parameters)
함수 정의하기
parameter와 returntype 둘 다 없는 함수
func sayHello() {
print("Hello")
}
func doSomething() {
let rnd = Int.random(in: 1...10)
// 홀수이면 함수를 종료한다.
if rnd % 2 == 1 {
return
}
print(rnd)
}
func add(a: Int, b: Int) -> Int {
return a + b
}
add(a: 4, b: 7)
func sayHello(to: String = "Stranger") {
print("Hello, \(to)")
}
sayHello(to: "Swift")
Hello, Swift
sayHello()
Hello, Stranger
// name -> parameter label
func sayHello(name: String) {
print("Hello, \(name)")
}
위에서의 name은 parameter label이다.
// name -> argument label
sayHello(name: "Swift")
위에서의 name은 argument label이다.
func sayHello(to name: String) {
print("Hello, \(name)")
}
-> to : argument label, name : parameter label
위 함수의 경우, 아래와 같은 코드를 통하여 불러올 수 있다.
sayHello(to: "스위프트")
func sayHello(_ name: String) {
print("Hello, \(name)")
}
sayHello("Swift")
inout
파라미터를 사용하면 된다.var num1 = 12
var num2 = 34
func swapNumber(_ a: inout Int, with b: inout Int) {
var tmp = a
a = b
b = tmp
}
// & 붙혀서 해당 값이 변화가 될 것임을 암시해줘야된다.
swapNumber(&num1, with: &num2)
print(num1) //12
print(num2) //24
func add(a: Int, b: Int) -> Int {
// return이 생략됨
a + b
}
add(a: 1, b: 2)