함수는 func 키워드를 사용해서 정의

-> 를 사용해서 함수의 반환 타입을 지정

**func** hello(name: String, time: Int) **->** String {
  var string = ""
  for _ in 0..<time {
    string += "\\(name)님 안녕하세요!\\n"
  }
  return string
}

Swift에서는 독특하게 함수를 호출할 때 파라미터 이름을 써야 함

hello(name: "전수열", time: 3)

만약, 함수를 호출할 때 사용하는 파라미터 이름과

함수 내부에서 사용하는 파라미터 이름을 다르게 사용하고 싶을 경우,

func hello(**to** ***name***: String, **numberOfTimes** ***time***: Int) {
  // 함수 내부에서는 `name`과 `time`을 사용합니다.
  for _ in 0..<time {
    print(name)
  }
}

hello(**to**: "전수열", **numberOfTimes**: 3) // 이곳에서는 `to`와 `numberOfTimes`를 사용합니다.

파라미터 이름을 _로 정의하면 함수를 호출할 때 파라미터 이름을 생략할 수 있음

func hello(_ name: String, time: Int) {
  // ...
}

hello("전수열", time: 3) // 'name:' 이 생략되었습니다.

파라미터에 기본 값을 지정할 수도 있음

기본 값이 지정된 파라미터는 함수 호출시 생략 가능

func hello(name: String, time: Int = 1) {
  // ...
}

hello("전수열")

가변 매개 변수