띠오니 개발자 성장일지
Published 2023. 7. 11. 17:11
[Swift] 4. 함수(Function) Study/iOS,Swift
반응형

함수

작업의 가장 작은 단위이자 코드의 집합

반복적인 프로그래밍을 방지할 수 있다.

하나의 함수에는 하나의 기능만 구현하는 것이 좋다.

 

 

기본형태

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
profile

띠오니 개발자 성장일지

@띠오니

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!