Swift_함수(Function)
함수(Function)
Swift의 함수는 OC의 방법에 해당합니다.그러나 문법상의 변화는 매우 많고 OC에 없는 기능도 추가되었다. 다음은 상세하게 소개한다.
함수 유형
매개변수 없음, 반환 값 없음
// func :
// function1 :
// () :
// Void :
func function1() -> Void {
print(" ")
}
// Void , ,
func function2() {
print(" ")
}
매개변수, 반환값 없음
// 、
func printInt(a: Int) {
print(a)
}
// ,
func printText(a: Int, b: Float, c: String) {
print("\(a) \(b) \(c)")
}
매개변수 없음, 반환값 있음
// 、
func PI() -> Double {
return 3.14
}
// ,
func notFoundMsg() -> (Int, String) {
return (404, "Not Found")
}
매개변수, 반환값
// Int 、 Int
func sumValue(a: Int, b: Int) -> Int {
return a + b
}
// Int , Int
func sumAndDiffValue(a: Int, b: Int) -> (Int, Int) {
return (a + b, a - b)
}
// , Int
func maxAndMinValue(array: [Int]) -> (min: Int, max: Int) {
var minValue = array[0]
var maxValue = array[0]
for value in array {
if value < minValue {
minValue = value
} else if value > maxValue {
maxValue = value
}
}
return (minValue, maxValue)
}
// ,
let res = maxAndMinValue([10, 34, 23, 56, 23])
//
print("\(res.min) \(res.max)")
// : 10 56
내부 매개변수 이름, 외부 매개변수 이름
함수의 매개 변수 이름은 우리가 매개 변수에 대한 이해를 편리하게 하는 것이다. 좋은 매개 변수 이름은 우리의 코드 품질을 향상시킬 수 있다.Swift 언어에서 매개변수 이름은
및
로 나눌 수 있습니다.간단하다. 내부 매개 변수 이름은 함수 내부에서 사용하는 이름이고, 외부 매개 변수 이름은 함수가 호출될 때 표시되는 이름이다.기본 매개변수 이름
//
func funcNames(name: String, age: Int, height: Float) {
print("\(name) \(age) \(height)")
}
// , : age / height, : name
funcNames(" ", age: 18, height: 20)
// , , , ,
전체 내부 매개 변수 이름과 외부 매개 변수 이름을 쓰다
//
// :
// withName、withAge、withHeight ,
// name、age、height ,
func funcNames1(withName name: String, withAge age: Int, withHeight height: Float) {
print("\(name) \(age) \(height)")
}
// , :withName / withAge / withHeight
funcNames1(withName: "lidaze", withAge: 18, withHeight: 180)
외부 매개변수 이름 숨기기
Swift에서 컨텐트를 무시해야 할 경우
_
기호를 사용하십시오. 매개변수 이름도 마찬가지입니다. //
func funcNames2(name: String, _ age: Int, _ height: Float) {
print("\(name) \(age) \(height)")
}
funcNames2("lidaze", 18, 180.0)
만약 매개 변수 이름을 모두 생략한다면, 우리가 코드를 읽는 데 증가하는 어려움에 대해 생략하는 것을 건의하지 않는다
가변, 가변 매개변수
Swift에서 함수 내부에서 기본적으로 매개 변수의 값을 수정하는 것을 금지하지만, 우리는 일부 표지를 추가함으로써 매개 변수의 수정을 실현할 수 있다. 자세한 내용은 다음과 같다.
불변 매개변수
//
func notChangeParam1(let a: Int) {
//
// a = 10
}
// let,
func notChangeParam2(a: Int) {
//
// a = 10
}
가변 매개변수
우리가 매개 변수의 값을 수정하려고 할 때, 우리는 var 수식 매개 변수를 사용할 수 있습니다. 이렇게 매개 변수의 값을 수정하면 실제 참조의 값에 영향을 주지 않습니다.
//
func changeParam(var a: Int) {
print(a)
a = 10
print(a)
}
// , var , let,
매개변수 가져오기, 내보내기
함수 내부에서 매개 변수를 수정하면 실참의 값은 변하지 않는다는 것을 모두가 알고 있다.그러면 우리가 외부 매개 변수 값을 바꾸고 싶다면?사용하십시오
inout
//
func inoutParamFunc(inout a: Int) {
a += 10
}
var num = 20
inoutParamFunc(&num)
print("num = \(num)")
// 30
인자가 inout 키워드로 수식되면 함수 내부에서 인자의 값을 수정하면 외부 인자의 값에 영향을 줍니다.C 언어에서 매개 변수의 주소를 전달한 다음 주소를 이용하여 매개 변수의 값을 수정한 것과 유사하다
기본 매개변수 값
Swift에서 함수를 호출할 때 매개 변수가 있는 함수도 매개 변수를 전달하지 않을 수 있습니다. 매개 변수는 기본값을 가지고 있기 때문입니다. 다음과 같습니다.
//
func defaultParam(a: Int = 12) {
print(a)
}
defaultParam()
// : 12
defaultParam(20)
// : 20
가변 매개변수
Swift에서 임의의 수량의 매개 변수를 실현하는 것은 매우 쉬운 일이지만, 하나의 함수는 가변 수량의 매개 변수만 허용한다는 것을 주의하십시오.
//
func moreParams(numbers: Int...) {
for number in numbers {
print(number)
}
}
moreParams(10, 20, 34, 24, 56, 24)
// : 10, 20, 34, 24, 56, 24
함수당 최대 1개의 변수 허용
중첩 함수
//
func chooseFunc(a: Int, b: Int, funcName: String) -> Int {
// Swift ,
func sum(a: Int, b: Int) -> Int {
return a + b
}
func diff(a: Int, b: Int) -> Int {
return a - b
}
if funcName == "sum" {
return sum(a, b: b)
} else {
return diff(a, b: b)
}
}
chooseFunc(10, b: 20, funcName: "sum")
함수 중첩의 등급은 무제한이지만, 많은 것을 건의하지 않는다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[개발일지 3월 25일] [공통교육-웹기초] JavaScript 3/3 - 이고잉 강사→ topics2란 변수에 'html', 'css', 'js' 저장 → topics2.length(3) 미만까지 for문 반복 수행 → 실행 결과값을 loop1.html 본문에 출력 → <li>${topics[i]}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.