9. Swift 매개변수

Swfit 2017. 8. 4. 11:50

9. Swift 매개변수

  • 내부 매개변수명, 외부 매개변수명
    • 내부 매개변수 : 함수가 내부적으로 인자값을 참조하기 위해 사용하는 변수
    • 외부 매개변수 : 함수 외부에서 함수나 인자값을 구분하기 위해 사용하는 변수

//내부 매개변수
func printHello(name : String, msg : String) {
    print(“\(name)님, \(msg)”)
}

printHello(name:"홍길동" , msg:”안녕하세요")
//외부 매개변수
func printHello(to name : String,welcomeMessage msg : String) {
    print(“\(name)님, \(msg)”)
}

printHello(to:"홍길동" , welcomeMessage:”안녕하세요")

  • 가변 인자
//입력된 값들의 평균값을 계산하는 함수
func avg(score : Int… ) -> Double {
    var total = 0 //정수 합계
    for r in score { // 배열로 입력된 값들을 순회 탐색하면서 점수를 합산
        total += r
    }
    return (Double(total) / Double(score.count)) //평균값을 구해서 반환
}


  • In Out 매개변수
var cat = 30

func autoIncrement(value : Int) -> Int {
    var value = value
    value += 1

    return value
}

print(autoIncrement(value:cnt)) // 함수 내부의 value 변수값 : 31
print(cat) // 외부에서 정의된 cnt 변수값 : 30

###################

//상수는 inout 매개변수에 인자 값으로 전달할 수 없음
let count1 = 30
autoIncrement(value:&count1)

//리터럴 inout 매개변수에 인자값으로 전달할 수 없음
autoIncrement(value:&30) // X

//변수는 inout 매개변수에 인자값으로 전달할 수 있음
var value = 30
autoIncrement(value:&value) // O : 31



'Swfit' 카테고리의 다른 글

11. Swift 함수의 중첩  (0) 2017.08.04
10. Swift 일급 객체로서의 함수  (0) 2017.08.04
8. Swift 함수(Function)  (0) 2017.08.04
7. Swift 옵셔널 (Optional)  (0) 2017.08.04
6. Swift 튜플 (Tuple)  (0) 2017.08.04

설정

트랙백

댓글