iOS Swift - Function

longlivedrgn·2022년 8월 2일
0

swift문법

목록 보기
7/36
post-thumbnail

함수 기본

  • 함수 부르기

    functionName(parameters)

  • 함수 정의하기

  • parameter와 returntype 둘 다 없는 함수

func sayHello() {
    print("Hello")
}
  • return을 통하여 함수 종료하기
func doSomething() {
    let rnd = Int.random(in: 1...10)
    
    // 홀수이면 함수를 종료한다.
    if rnd % 2 == 1 {
        return
    }
    
    print(rnd)
}
  • Parameter가 존재하는 함수(기본 형)
func add(a: Int, b: Int) -> Int {
    return a + b
}

add(a: 4, b: 7)
  • 아래와 같이 default value값을 넣을 수 도 있다.
func sayHello(to: String = "Stranger") {
    print("Hello, \(to)")
}
sayHello(to: "Swift")

Hello, Swift

sayHello()

Hello, Stranger


Argument label

// name -> parameter label
func sayHello(name: String) {
   print("Hello, \(name)")
}

위에서의 name은 parameter label이다.

// name -> argument label
sayHello(name: "Swift")

위에서의 name은 argument label이다.

  • argument label과 parameter label이 같이 있는 경우.
func sayHello(to name: String) {
    
    print("Hello, \(name)")
}

-> to : argument label, name : parameter label

위 함수의 경우, 아래와 같은 코드를 통하여 불러올 수 있다.

sayHello(to: "스위프트")
  • argument label이 생략이 된 경우(by. wildcard)
func sayHello(_ name: String) {
    print("Hello, \(name)")
}

sayHello("Swift")

inout parameter

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

implicit parameter

  • 단일 표현식으로 되어 있는 경우 return 생략이 가능하다.
func add(a: Int, b: Int) -> Int {
   // return이 생략됨
   a + b
}

add(a: 1, b: 2)

0개의 댓글