관리 메뉴

java,javascript,android,php,sql,공부용,메모용

스위프트5 함수, 메서드, 매개변수, 지역매개변수, 외부매개변수 -1 / Xcode SwiftUI Playground 공부 본문

모바일/SwiftUI ios 공부

스위프트5 함수, 메서드, 매개변수, 지역매개변수, 외부매개변수 -1 / Xcode SwiftUI Playground 공부

yy_dd2 2021. 9. 12. 01:12
반응형

Xcode SwiftUI Playground  공부

스위프트5의 함수, 메서드

 

https://tog-code.tistory.com/85

 

스위프트5 함수, 메서드, 매개변수, 지역매개변수, 외부매개변수 -2 / Xcode SwiftUI Playground 공부

https://tog-code.tistory.com/84 스위프트5 함수, 메서드, 매개변수, 지역매개변수, 외부매개변수 -1 / Xcode SwiftUI Playground 공부 Xcode SwiftUI Playground  공부 스위프트5의 함수, 메서드, 클로저 개..

tog-code.tistory.com

함수

함수 : 특정 작업 수행을 위해 호출할 수 있게 이름 붙여진 코드의 블록

- 작업 수행을 위해 데이터 제공, 작업 결과 호출한 코드를 반환할 수 있다.

매개변수(parameter) : 함수가 호출될 때 받게 되는 값

인자(argument) : 실제 함수가 호출되고 값이 전달된 시점에서는 인자

메서드

메서드 : 특정 클래스나 구조체 또는 열거형과 연관된 함수

 

함수선언

스위프트 함수 선언

func <함수명> (<매개변수 이름> : <매개변수 타입>,
                          <매개변수 이름> : <매개변수 타입>,...) -> <반환 결과 타입> {
        // 함수 코드
}

 

// *함수 선언
func sayHello() {
    print("Hello")
}
// *함수 호출
sayHello()

// *함수 선언
func buildMessageFor (name : String, count : Int) -> String {
    return "\(name), you are customer number \(count)"
}

// retyrn 단일 구문일때 생략가능 다행이면 무조건 return 을 써야함
// 다른 언어에서도 return을 쓰기 때문에 그냥 return 사용하기~
// 함수 선언
func buildMessageFor2 (name : String, count : Int) -> String {
     "\(name), you are customer number \(count)"
}

//에러
func buildMessageFor3 (name : String, count : Int) -> String {
    let uppername = name.uppercased()
    "\(name), you are customer number \(count)"
}

// *두개의 매개변수를 받은 결과를 반환할때
func buildMessageFor4 (name : String, count : Int) -> String {
     "\(name), you are customer number \(count)"
}

// 반환값 처리
let message = buildMessageFor4(name: "young", count: 100)
print(message)

// 값을 받고 쓰지 않을때 값 버리기 메서드나 함수를 호출해 반횐 결과값을 사용하지 않는 경우 _ 할당해 값 버리기
// _ = buildMessageFor4(name: "young", count: 200)

 

매개변수(Argument)

- 함수나 메소드를 호출할 때 넘겨주는 데이터

- 매개변수는 함수 내에서만 사용할 수 있는 지역변수(Local Variable - 선언된 영역에서만 사용 가능한 변수)

 

지역 매개변수명 Local Parameter name

- 함수 내부에서 부를 때는 Parameter라고 한다.(지역매개변수 Local Parameter name)

- 함수를 호출할 때 매개변수를 대입할 때 매개변수 이름과 함께 대입을 해야 한다.

" 함수(매개변수이름:매개변수) / ex) func buildMessageFor4 (name : String, count : Int) -> String  "  형태로 호출한다

 

외부 매개변수명 External parameter name

 

* 기본적으로 함수 매개변수에는 동일한 지역 매개변수명과 외부 매개변수명이 할당된다.

* buildMessageFor5는 name과 count를 지역매개변수,외부매개변수로 사용한다

선언할 때 매개변수에 할당된 디폴트 외부 매개변수명은

지역매개변수 앞에 _를 사용하여 외부 매개변수명을 생략하고 쓸 수 있다.

// buildMessageFor5는 name과 count를 지역매개변수,외부매개변수로 사용한다고 선언할 때 매개변수에 할당된 디폴트 외부 매개변수명은 지역매개변수 앞에 _를 사용하여 외부 매개변수명을 생략하고 쓸 수 있다.
func buildMessageFor5 (_ name : String, _ count : Int) -> String {
    return "\(name), you are customer number \(count)"
}
let message2 = buildMessageFor5("young", 100)

// 또다른 방법
func bildMessageFor6 (userName name : String, userCount count : Int) -> String {
    return "\(name), you are customer number \(count)"
}
// 이렇게 선언했다면 함수를 호출할 때 외부 매개변수명을 참조해야 한다.
let message3 = bildMessageFor6(userName: "young", userCount: 100)

 

디폴트 매개변수 선언하기

스위프트는 함수가 호출될 때 인자로 쓸 값이 들어오지 않는 경우 사용할 디폴트 매개변수 값을 지정할 수 있다.

- 함수 선언 시 매개변수에 디폴트 값을 할당하기

- 디폴트 값을 매개변수의 끝에 둔다 (컴파일러가 어떤 매개변수가 함수 호출 시 생략되는지 혼동하지 않음)

- 함수 호출시 반드시 디폴트값이 설정된 매개변수에 대해 지역 매개변수명을 기반으로 한 디폴트 외부 매개변수명 제공

- 디폴트 매개변수 확인을 위해 인자로 고객 이름을 전달하지 않는 경우 디폴트값인 ' Customer'라는 문자열이 사용되도록 함수를 수정

 

// Customer 하는 문자열이 사용되도록 buildMessageFor 함수 수정하기

// 함수에 디폴트 매개변수 선언하는법
func bildMessageFor7 (_ name : String = "Customer", count : Int) -> String {
    return "\(name), you are customer number \(count)"
}
// bildMessagerFor7은 name 인자 없이 호출될 수 있다.
let messager4 = bildMessageFor7(count: 100)
print(messager4)

결과값 : Customer, you are customer number 100

 

 

210922.. 이어서

 

핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍, 닐 스미스 지음, 황반석 옮김, 제이펍 출판

반응형
Comments