반응형
함수
작업의 가장 작은 단위이자 코드의 집합
반복적인 프로그래밍을 방지할 수 있다.
하나의 함수에는 하나의 기능만 구현하는 것이 좋다.
기본형태
func 함수명 (파라미터명: 데이터타입) -> 반환타입 {
return 반환값
}
기본형태 활용1
두 수를 덧셈한 결과를 반환하는 함수 sum을 만들었다.
파라미터 a, b 는 정수형 값을 받고, 정수형 값을 반환한다.
함수를 호출할 때는, 파라미터명(또는 매개변수명/전달인자)을 붙여서 파라미터 값과 함께 보낸다.
func sum(a: Int, b:Int) -> Int {
return a + b
}
sum(a: 2, b: 6) // 8
기본형태 활용2
문자열 "Hello" 를 출력하는 함수를 만들었다.
func hello() -> String {
return "Hello"
}
hello()
반환값이 없는 함수
만약 반환값이 없는 함수라면 Void로 표기, 또는 아예 사용하지 않을 수도 있다.
func printName() -> Void {
// ...
}
또는
func printName() {
// ...
}
func greeting(friend: String, me:String = "gunter") {
print("Hello, \(friend)! I'm \(me).")
}
매개변수를 사용하고 싶다면 \(string) 형태로 쓴다.
전달인자 레이블
전달인자 레이블을 사용하면, 사용자 입장에서 매개변수 역할을 명확히 알 수 있어 코드의 가독성이 높아진다.
func sendMessage(from myName:String, to name: String) -> String{
return "Hello \(name)! I'm \(myName)."
}
sendMessage(from: "지원", to: "브루노마스") // Hello 브루노마스! I'm 지원
Wildcard 식별자(Wildcard Pattern)
Wildcard 식별자를 사용하여
전달인자 레이블을 사용하지 않는 함수를 호출할 수 있다.
<기본형태>
func sendMessage(name: String) -> String {
return "Hello \(name)!"
}
sendMessage(name:"지원") // Hello 지원!
<wildcard 적용>
func sendMessage(_ name: String) -> String { // 언더바 적용!
return "Hello \(name)!"
}
sendMessage("지원") // Hello 지원! (전달인자 레이블을 사용하지 않음)
가변 매개변수
매개변수가 몇 개 들어올지 모를 때, 사용가능하다.
함수마다 가변매개변수는 하나만 가질 수 있다.
func sendMessage(me: String, friends: String...) -> String {
return "Hello \(friends)! I'm \(me)."
}
sendMessage(me: "지원", friends: "브루노마스", "저스틴비버", "테일러스위프트")
// Hello ["은경", "선명", "희선"]! I'm 지원
반응형
'Study > iOS,Swift' 카테고리의 다른 글
iOS Hugging Property (0) | 2023.07.13 |
---|---|
[Swift] 5. 조건문 (if~else문, switch문) (0) | 2023.07.11 |
[Swift] 3. 컬렉션 타입 (0) | 2023.07.04 |
[Swift] 2. 상수와 변수, 데이터 타입 (0) | 2023.07.04 |
[Swift] 1. xcode 설치 및 Playground (0) | 2023.07.04 |