不久前我一直在学习 swift,有些时候还不清楚,即为什么函数、初始化程序需要一个带有外部名称和本地名称的参数。用一个例子回答那些尽可能清晰和可取的问题
struct Celsius {
var temperatureInCelsius: Double
init(fromFahrenheit fahrenheit: Double) {
temperatureInCelsius = (fahrenheit - 32.0) / 1.8
}
init(fromKelvin kelvin: Double) {
temperatureInCelsius = kelvin - 273.15
}
}
let boilingPointOfWater = Celsius(fromFahrenheit: 212.0)
// boilingPointOfWater.temperatureInCelsius is 100.0
let freezingPointOfWater = Celsius(fromKelvin: 273.15)
// freezingPointOfWater.temperatureInCelsius is 0.0
尚不完全清楚为什么“参数标签”在这里被翻译为“外部(参数)名称”(参见原始和充分的翻译),“本地名称”也是如此。实际上,根据指示的链接,解释了参数及其标签的问题。
至于“为什么”这个问题
例子