@H_403_1@
// 可以传递任意多的参数@H_403_1@
let num:Int = add2(array: 1,2,4,5)@H_403_1@
print("----------------->")@H_403_1@
print("num==\(num)")@H_403_1@
@H_403_1@
@H_403_1@
print("----------------->")@H_403_1@
print("\(add2(array: 1,5,6))")@H_403_1@
@H_403_1@
@H_403_1@
@H_403_1@
print("----------------->")@H_403_1@
let num3 = add3(argum: 2,array: 9)@H_403_1@
print("num3==\(num3)")@H_403_1@
@H_403_1@
@H_403_1@
@H_403_1@
print("----------------->")@H_403_1@
let num4 = add4(array: 2,argum: 7)@H_403_1@
print("num4==\(num4)")@H_403_1@
@H_403_1@
@H_403_1@
@H_403_1@
/**@H_403_1@
*/@H_403_1@
@H_403_1@
// 3个参数, 4个参数@H_403_1@
// func add(a:Int,b:Int,c:Int,d:Int) -> Int {@H_403_1@
// a = a + b + c + d@H_403_1@
// }@H_403_1@
@H_403_1@
@H_403_1@
/**@H_403_1@
参数个数不确定时,但是参数的类型一样的,就可以用这个数组@H_403_1@
*/@H_403_1@
func add2(array:Int...) -> Int {@H_403_1@
var sum = 0@H_403_1@
@H_403_1@
for i in array {@H_403_1@
sum = sum + i@H_403_1@
}@H_403_1@
@H_403_1@
return sum@H_403_1@
}@H_403_1@
@H_403_1@
@H_403_1@
@H_403_1@
func add3(argum: Int,array:Int...) -> Int {@H_403_1@
var sum = 0@H_403_1@
@H_403_1@
for i in array {@H_403_1@
sum = sum + i@H_403_1@
}@H_403_1@
@H_403_1@
return argum + sum@H_403_1@
}@H_403_1@
@H_403_1@
@H_403_1@
/**@H_403_1@
swift 2不可以,但是 swift3@H_403_1@
array 和 argum 调换了位置也可以啊@H_403_1@
*/@H_403_1@
func add4(array:Int...,argum: Int) -> Int {@H_403_1@
var sum = 0@H_403_1@
@H_403_1@
for i in array {@H_403_1@
sum = sum + i@H_403_1@
}@H_403_1@
@H_403_1@
return sum + argum@H_403_1@
}@H_403_1@