[Swift] 함수 사용법

김상우·2021년 10월 26일
0

Swift 의 함수

  • Swift 는 함수형 프로그래밍 패러다임을 포함하는, 다중 프로그래밍 패러다임 언어이다.
  • 함수형 프로그래밍 -> 함수가 1급 객체이다.
  • 따라서 변수나 상수에 함수를 할당할 수 있다.
  • 함수의 매개변수에 함수를 전달할 수 있다.

함수 선언

  • func 키워드 사용
func sum(a: Int, b: Int) -> Int{
  return a+b
}
  
sum(a: 3, b: 5)

매개변수 타입과 반환 타입을 명시해준다.
반환값이 없는 함수를 생성할 시 Void 키워드를 사용하거나, 명시하지 않는다.

func sayHello(name: String) -> Void{
  print("Hello, I'm \(name)")
}

sayHello(name: "Kim Sang Woo")
  • 전달 인자 레이블의 사용
    -> 사용자 입장에서 매개변수의 역할을 좀 더 명확하게 표시할 수 있다.
    -> 가독성이 좋은 코드를 작성할 수 있다.
/* func 함수이름 (전달인자 레이블: 매개변수 이름: 매개변수 타입
  전달인자 레이블: 매개변수 이름: 매개변수 타입...) -> 반환타입 {
  return 반환값
}
*/
// 전달 인자 레이블
// 이렇게 함수를 호출할 때 전달인자 레이블을 사용하면
// 사용자 입장에서 매개변수의 역할을 좀 더 명확하게 표현할 수 있어서
// 코드의 가독성이 높아진다.
func sendMessage(from myName: String, to name: String)
-> String{
    return "Hello \(name)! I'm \(myName)"
}

sendMessage(from: "KSW", to: "BSJ")
  • 와일드 카드 식별자
// 와일드 카드 식별자
// 매개변수 앞에 언더 바를 적어주면 전달인자 레이블을 사용하지 않음
// 호출할 때 매개변수 이름을 적지 않고 값만 적어줘도 됨.
func _sendMessage(_ name: String) ->String{
    return "Hello, I'm \(name)"
}

_sendMessage("KSW")
  • 가변 매개변수
// 가변 매개변수 - 0개 이상의 값을 받아옴
// 함수마다 가변 매개변수는 하나만 가질 수 있다.

func sendMessage(me: String, friends: String...) -> String {
    return "Hello \(friends)!, I'm \(me)"
}

sendMessage(me: "KSW", friends:"BSJ", "BSY", "BSG")

profile
안녕하세요, iOS 와 알고리즘에 대한 글을 씁니다.

0개의 댓글