- Swift 4 Programming Cookbook
- Keith Moon
- 197字
- 2021-07-08 10:21:24
Parameter overloading
Unlike Objective-C, Swift supports parameter overloading, which allows for functions to have the same name and only be differentiated by the parameters that they take.
Let's learn more about parameter overloading by entering the following code into a playground:
func combine(_ givenName: String, _ familyName: String) -> String {
return "\(givenName) \(familyName)"
}
func combine(_ integer1: Int, _ integer2: Int) -> Int {
return integer1+integer2
}
let combinedString = combine("Finnley", "Moon")
let combinedInt = combine(5, 10)
print(combinedString) // Finnley Moon
print(combinedInt) // 15
Both the preceding functions have the name combine, but one takes two Strings as parameters and the other takes two Ints. Therefore, when we come to call the function, the compiler knows which implementation we intended by the values we pass as parameters.
We've introduced something new in the preceding function declarations--anonymous parameter labels, _ givenName: String.
When we declare the parameters, we use an underscore _ for the parameter label; this indicates that we don't want a parameter name shown when calling the function. This should only be used if the purpose of the parameters is clear without the labels, as is the case in the preceding example--combine("Finnley", "Moon").
- iOS面試一戰(zhàn)到底
- AngularJS Web Application Development Blueprints
- Vue.js 3.x從入門到精通(視頻教學(xué)版)
- 機(jī)器人Python青少年編程開發(fā)實(shí)例
- Java設(shè)計(jì)模式及實(shí)踐
- 飛槳PaddlePaddle深度學(xué)習(xí)實(shí)戰(zhàn)
- Getting Started with Gulp
- Clojure Reactive Programming
- Unity UI Cookbook
- 持續(xù)輕量級(jí)Java EE開發(fā):編寫可測(cè)試的代碼
- OpenCV with Python Blueprints
- Java Web開發(fā)實(shí)例大全(基礎(chǔ)卷) (軟件工程師開發(fā)大系)
- Web Developer's Reference Guide
- Machine Learning for OpenCV
- Node.js 6.x Blueprints