Swift 我是斯威夫特的新手,我不知道';我不理解这个函数声明

Swift 我是斯威夫特的新手,我不知道';我不理解这个函数声明,swift,Swift,什么是“var-yMin-yMin:Double”声明?这是旧的Swift 2,var表示可以在函数中更改yMin(不推荐使用,Swift 3具有inout参数概念)第一个yMin是参数标签,在调用computeAxis函数时应该使用它,在这种情况下,它与参数名称相同,可以省略(在第二个参数中是),并且两个参数的类型都是Double,您应该像这样调用函数: public func computeAxis(var yMin yMin: Double, var yMax: Double) 可能是个

什么是“var-yMin-yMin:Double”声明?

这是旧的Swift 2,
var
表示可以在函数中更改
yMin
(不推荐使用,Swift 3具有
inout参数
概念)第一个
yMin
参数标签
,在调用
computeAxis
函数时应该使用它,在这种情况下,它与
参数名称
相同,可以省略(在第二个参数中是),并且两个参数的类型都是
Double
,您应该像这样调用函数:

public func computeAxis(var yMin yMin: Double, var yMax: Double)

可能是个错误?那一定是旧的Swift代码–Swift 3中没有
var
参数,默认情况下,所有参数标签都与参数名称同名,因此重复的
yMin
是多余的。如果您对函数的语法感到困惑,那么我强烈建议您阅读.Legacy code;-)是的,事实上,这是Swift 2,我将通过删除不赞成的内容而转到Swift 3。我的问题是在函数中修改了yMin参数,因此我认为需要为调用者更改变量。我还想知道这是否应该将参数设为inout。如果函数将更改传递的变量,您可以使用inout,尽管您也可以简单地从函数返回所需的值,除非有情有可原的情况,否则它往往更简单、更容易理解。
inout
并不能替代Swift 3中的
var
参数(事实上,改变的动机之一是消除
var
inout
之间的混淆)。是的@我是乔夫,看,我已经更新了我的答案!
computeAxis(yMin: 1.2, yMax: 3.7)