0
我目前正在通过Apple的Swift编程手册工作,并遇到函数类型作为参数类型。函数类型在swift中作为参数类型的优点?
在通常的方式,
func add(one : Int , _ two:Int) ->Int
{
return one+two
}
func multiply(one : Int ,_ two : Int) ->Int
{
return one*two
}
func subtract(one : Int , _ two :Int) ->Int
{
return one-two
}
add(1, 2)
subtract(1 , 2)
multiply(1 , 2)
使用功能类型作为参数,
func add(one : Int , _ two:Int) ->Int
{
return one+two
}
func multiply(one : Int ,_ two : Int) ->Int
{
return one*two
}
func subtract(one : Int , _ two :Int) ->Int
{
return one-two
}
func basic(result : (Int , Int) ->Int,_ one : Int , _ two : Int)
{
result(one,two)
}
basic(add, 1, 2)
basic(multiply, 2, 3)
所以,从上面的代码很显然,我们正在编写额外的功能basic()
和代码行额外它们是在这个例子中没有用处,并且使它变得复杂。最好不要使用函数类型作为参数类型。
那么,是否有任何利用该功能的例子?
请注意,有关功能的示例不一定非常有用。给一些有用的例子:函数'add'或'multiply'可以存储在字典中。或者你可以提供一个从运算符(例如'+','-')到函数的映射。有一种间接调用函数的方式是一件大事。 – Sulthan