Swift中的功能图

Swift中的功能图,swift,Swift,是否可以在Swift中有String:Function的映射 类似这样的情况(不起作用): 我可以遵循哪些其他设计模式来实现这一点?您可以通过在字典中放入闭包来实现这一点 let map = [ "action": {() in print("action!") }, "error": {() in print("error!") } ] 或者在字典外创建函数并给它们命名,然后将这些名称传递到字典中 func action() { print("action!") }

是否可以在Swift中有
String:Function
的映射

类似这样的情况(不起作用):


我可以遵循哪些其他设计模式来实现这一点?

您可以通过在字典中放入闭包来实现这一点

let map = [
    "action": {() in print("action!") },
    "error":  {() in print("error!") }
]
或者在字典外创建函数并给它们命名,然后将这些名称传递到字典中

func action() {
    print("action!")
}

func error() {
    print("error!")
}

let map = [
    "action": action,
    "error": error
]
看起来您想要的是一个未命名的匿名函数(也称为闭包),这是第一个解决方案提供给您的。
func
关键字只能用于创建命名函数

func action() {
    print("action!")
}

func error() {
    print("error!")
}

let map = [
    "action": action,
    "error": error
]