这是Swift 1.2的正确语法吗?

这是Swift 1.2的正确语法吗?,swift,Swift,我见过这种方法: func sum(x:Int, y: Int) -> Int { return x+y } 我需要通过以下方式拨打此电话: let x1 = sum(4, y:11) 因为这似乎不起作用: let x1 = sum(4, 11) 在您的方法中,y在内部和外部都被标记为y。因此,要调用该方法,必须命名参数。如果要按描述的方式调用sum方法,请在y之前添加下划线,如下所示: func sum(x:Int, _ y: Int) -> Int { var

我见过这种方法:

func sum(x:Int, y: Int) -> Int {
   return x+y
}
我需要通过以下方式拨打此电话:

let x1 = sum(4, y:11)
因为这似乎不起作用:

let x1 = sum(4, 11)

在您的方法中,
y
在内部和外部都被标记为
y
。因此,要调用该方法,必须命名参数。如果要按描述的方式调用sum方法,请在
y
之前添加下划线,如下所示:

func sum(x:Int, _ y: Int) -> Int {
    var j = x*y
    return j
}

1.1和1.2之间有区别吗?y是自动外部化的吗?我不确定。我不相信有任何区别,尽管命名参数在Swift中一直是一件事。如果我错了,有人可以纠正我。或者,更好的是,使用#强制命名第一个参数。一个简单的求和函数可能是一个坏例子,但在我看来,继续使用命名参数的Objective-C遗产是一件好事。我完全同意。应尽可能多地使用命名参数。然而,对于求和函数,输入是绝对隐含的。thx Aaron-很惊讶,因为我在一本书中看到了这一点;没有完全获得所有的反对票,但是,唉……为什么你要命名一个方法sum并返回乘法的结果呢?哈哈,这只是一个例子