如何在 swift 中使用不同的闭包类型
how to use different closure types in swift
我正在研究 swift 中的 clussures,但我并没有真正理解这些函数类型之间的区别以及这些差异的意义所在。我确实以某种方式理解第一个和第二个,但最后一个让我完全困惑。例如:
func performMagic (thingy : String ){
return thingy
}
performMagic("hello")
&
var newMagicFunction ={
(thingy : String) -> String in
return thingy
}
&
var addeFunction : (Int , Int) -> Int ={
(a : Int , b : Int) -> Int in
return a + b
}
addeFunction(1,3)
谢谢
最后一个和第二个最后一个之间唯一真正的区别是,var 的类型在最后一个中声明,而 var 的类型是根据分配给它的内容推断的第二个。 (除了明显的功能差异之外)例如,您可以将它们交换成
var newMagicFunction : String -> String = {
(thingy : String) -> String in
return thingy
}
var addeFunction = {
(a : Int , b : Int) -> Int in
return a + b
}
addeFunction(1,3)
相当于您发布的上述内容
我正在研究 swift 中的 clussures,但我并没有真正理解这些函数类型之间的区别以及这些差异的意义所在。我确实以某种方式理解第一个和第二个,但最后一个让我完全困惑。例如:
func performMagic (thingy : String ){
return thingy
}
performMagic("hello")
&
var newMagicFunction ={
(thingy : String) -> String in
return thingy
}
&
var addeFunction : (Int , Int) -> Int ={
(a : Int , b : Int) -> Int in
return a + b
}
addeFunction(1,3)
谢谢
最后一个和第二个最后一个之间唯一真正的区别是,var 的类型在最后一个中声明,而 var 的类型是根据分配给它的内容推断的第二个。 (除了明显的功能差异之外)例如,您可以将它们交换成
var newMagicFunction : String -> String = {
(thingy : String) -> String in
return thingy
}
var addeFunction = {
(a : Int , b : Int) -> Int in
return a + b
}
addeFunction(1,3)
相当于您发布的上述内容