Swift의 매개변수(parameter) 정리하기

2024. 11. 30. 22:23·App Development/Swift

Swift 함수 내 매개변수의 기본 이해

Swift에서는 매개변수의 타입을 명시적으로 선언해야 합니다. 이를 통해 함수의 입력 데이터 타입을 관리할 수 있습니다.

func greet(name: String){
	print("hello, \(name)!")
}

greet(name: "Jin")
 

 

In-out 매개변수

만약 함수 내에서 외수 변수의 값 변경이 필요한 경우, inout 키워드를 사용해야 합니다.

func doubleValue(value: inout Int){
	value *= 2
}

var number = 10
doubleValue(value: &number) //inout 매개변수임을 나타내기 위해 변수 앞에 &를 달아서 알려줌
print(number) //20

 

기본값 매개변수 (Default parameters)

매개변수의 기본값을 제공하면 함수 호출 시 선택적으로 값을 넘길 수 있습니다.

func greet(name: String = "Guest"){
	print("hello, \(name)!")
}

greet() // hello, Guest!
greet(name: "Jin") // hello, Jin!

 

가변 매개변수 (Variadic Parameters)

하나의 매개변수에 여러 값을 전달할 때 ... 을 사용합니다.

func sum(numbers: Int...) -> Int {
	return numbers.reduce(0, +)
}

print(sum(numbers: 1, 2, 3, 4)) // 10

 

레이블 매개변수 (Parameters Labels)

함수 호출 시 매개변수 레이블을 제공해 가독성을 높일 수 있습니다. 또한, _를 사용하면 외부 레이블을 생략할 수 있습니다.

func greet(to name: String){
	print("hello, \(name)!")
}

greet(to: "Jin")


func add(_ a: Int, _ b: Int) -> Int{
	return a+b
}

print(add(5, 10)) // 15

 

클로저 매개변수

클로저는 함수 내에서 실행 가능한 코드 블록을 매개변수로 전달할 수 있습니다.

기본적인 클로저 매개변수 사용

func performOperation(a: Int, b: Int, operation: (Int, Int) -> Int) -> Int{
	return operation(a, b)
}

let result = performOperation(a: 5, b: 3, operation: {$0 + $1})
print(result) // 8

트레일링 클로저 (Trailing Closure)

마지막 매개변수가 클로저일 경우, 더 간결히 작성할 수 있습니다.

let sorted = [3, 1, 2].sorted{$0 < $1}
print(sorted) // [1, 2, 3]

 

Conclusion

  • Swift의 매개변수는 코드의 가독성과 함수의 유연성을 좌우하는 중요한 요소입니다.
  • 함수 설계 시 명확성과 재사용성을 항상 염두에 두어야 합니다.
  • 기본값, 가변 매개변수, 클로저 등을 적절히 활용하면 코드를 더 간결하고 효율적으로 작성할 수 있습니다.
 
저작자표시 비영리 동일조건 (새창열림)

'App Development > Swift' 카테고리의 다른 글

Swift의 에러 처리 (Error handling)  (0) 2024.12.06
Swift에서 동기와 비동기의 차이  (0) 2024.11.30
Swift에서의 completion  (0) 2024.11.26
Swift의 Closure 란?  (0) 2024.11.25
Swift의 ARC (Automatic Reference Counting)  (0) 2024.11.24
'App Development/Swift' 카테고리의 다른 글
  • Swift의 에러 처리 (Error handling)
  • Swift에서 동기와 비동기의 차이
  • Swift에서의 completion
  • Swift의 Closure 란?
Genie Choi 지니 초이
Genie Choi 지니 초이
  • Genie Choi 지니 초이
    Genie World
    Genie Choi 지니 초이
  • 전체
    오늘
    어제
    • 분류 전체보기 (27)
      • Genie (3)
      • Projects (6)
      • Up-to-date learning (0)
      • App Development (10)
        • React Native (1)
        • Swift (9)
      • Marketing Tool (1)
        • Mobile Measurement Platform (1)
        • CRM Marketing (0)
      • Linux (5)
      • AWS (2)
        • EC2 (1)
        • Route 53 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    오블완
    티스토리챌린지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Genie Choi 지니 초이
Swift의 매개변수(parameter) 정리하기
상단으로

티스토리툴바