1급 객체(1급 시민)
1) 변수 저장 가능
2) 매개변수로 전달
2) 리턴값 사용 가능
=> swift 함수
1) 함수를 변수에 저장 가능
: 함수를 데이터 타입처럼 처리할 수 있음
func metersToFeet(meters: Float) -> Float {
return meters * 3.28084
}
let toFeet = metersToFeet // 함수를 자료형처럼 사용
print(metersToFeet(meters: 10)) // metersToFeet 함수 호출
print(toFeet(10)) // toFeet 변수를 통한 함수 호출
* argument label인 (inches:) 안 씀
2) 함수를 매개변수로 사용
//(Int, Double) -> String (매개변수형, 매개변수형) -> 리턴형
func intAndDoubleToString(intValue: Int, doubleValue: Double) -> String {
return "\(intValue) \(doubleValue)"
}
// 함수를 매개변수로 사용하는 outputConversion 함수
func outputConversion(converterFunc: (Int, Double) -> String, intValue: Int, doubleValue: Double) {
let result = converterFunc(intValue, doubleValue)
print("Result = \(result)")
}
let intValue = 5
let doubleValue = 3.14
outputConversion(converterFunc: intAndDoubleToString, intValue: intValue, doubleValue: doubleValue)
3) 함수를 리턴값으로 가능
// 변환 함수를 정의합니다.
func metersToFeet(meters: Float) -> Float {
return meters * 3.28084
}
func metersToYards(meters: Float) -> Float {
return meters * 1.09361
}
// 변환 함수를 변수에 할당합니다.
let toFeet = metersToFeet
let toYards = metersToYards
// 변환 결과를 출력하는 함수
func outputConversion(converterFunc: (Float) -> Float, value: Float) {
let result = converterFunc(value)
print("Result = \(result)")
}
// 변환 함수를 사용하여 값을 출력합니다.
outputConversion(converterFunc: toYards, value: 10)
outputConversion(converterFunc: toFeet, value: 10)
'iOS' 카테고리의 다른 글
[iOS] 함수와 매서드 (0) | 2023.10.15 |
---|---|
[iOS] 클로저 알아보기 (0) | 2023.10.06 |
[iOS] 기초문법 (0) | 2023.09.25 |
[iOS] 문법 - 옵서널 타입 (0) | 2023.09.18 |
[iOS 프로그래밍] 문법 (0) | 2023.09.11 |