당신은 Optional
기본값을 갖는 것과 합동 하고 있습니다. An Optional
은 값 또는 nil을 허용합니다. 기본값이 있으면 함수를 호출 할 때 인수를 생략 할 수 있습니다. 인수는 Optional
유형 유무에 관계없이 기본값을 가질 수 있습니다 .
func someFunc(param1: String?,
param2: String = "default value",
param3: String? = "also has default value") {
print("param1 = \(param1)")
print("param2 = \(param2)")
print("param3 = \(param3)")
}
출력이있는 호출 예 :
someFunc(param1: nil, param2: "specific value", param3: "also specific value")
param1 = nil
param2 = specific value
param3 = Optional("also specific value")
someFunc(param1: "has a value")
param1 = Optional("has a value")
param2 = default value
param3 = Optional("also has default value")
someFunc(param1: nil, param3: nil)
param1 = nil
param2 = default value
param3 = nil
요약:
- ? (예 : String?)은
Optional
nil이거나 Type의 인스턴스를 포함 할 수 있습니다.
- 기본값이있는 인수는 함수 호출에서 생략 될 수 있으며 기본값이 사용됩니다.
Optional
및 둘 다 기본값이있는 경우 함수 호출에서 생략하거나 포함 할 수 있으며 nil 값으로 제공 할 수 있습니다 (예 : param1 : nil).
func test(firstThing: Int = 4)
다음Optional
과 같이 쓸 수 있다는 것을 고려하십시오 : 기본값이 있는 비 매개 변수.Optional
(무엇 인 유형?
에 형명에 펼쳐지는) 값 형식이고; "선택적 매개 변수"는 유형에 관계없이 함수 호출에있을 수도 있고 없을 수도있는 매개 변수의 불행한 이름입니다.