Swift:你可以将函数作为值存储在字典中吗?

Dak*_*ong 3 xcode ios swift2

我正在学习 Swift,我想知道是否可以将函数作为值存储在字典中。例如,字典类似于映射到函数的字符串。

var test : Dictionary = [String : Double -> Double]()
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但编译器不喜欢它,说它需要一个“,”。如果可以创建这样的字典,我将如何创建它?

San*_*ari 5

你可以做这样的事情:)编译器不会说一句话:)

 typealias myFunc = (Double) -> Double
var test3 : [String : myFunc] = [String : myFunc]()
Run Code Online (Sandbox Code Playgroud)

或者

typealias myFunc = (Double) -> Double
var test3 : Dictionary = [String : myFunc]()
Run Code Online (Sandbox Code Playgroud)

最后,这是向字典添加一个的方法:)

let mtfunc : myFunc =  {
     print("Hi")
     return $0
}

test3["Sandeep"] = mtfunc
Run Code Online (Sandbox Code Playgroud)