var中的Swift函数

var中的Swift函数,swift,Swift,我正在学习Swift,想知道如何向var添加函数 这里是JS示例 function suma (a, b){ return a + b } console.log("sua suma::", suma(2,3)) function multiplica (a, b){ return a * b } console.log("sua multiplik::", multiplica(2,3)) const operations = {

我正在学习Swift,想知道如何向var添加函数

这里是JS示例

function suma (a, b){
    return a + b
}

console.log("sua suma::", suma(2,3))

function multiplica (a, b){
    return a * b
}

console.log("sua multiplik::", multiplica(2,3))

const operations = {
    suma,
    multiplica
}

console.log ("sum of first class::", operations.suma(2,3))
console.log ("mult of first class::", operations.multiplica(2,3))
那么,如何在Swift上实现同样的效果呢

以下是我尝试过的:

import Foundation


func suma(a:Int, b:Int) -> Int {
    return a + b
}

func multiplica(a:Int, b:Int) -> Int {
    return a * b
}

print("sua suma", suma(a: 2, b: 3))
print("sua multiplica", multiplica(a: 2, b: 3))

var operations = {
    suma
    multiplica
}


print("sua operatio", operations.suma(a: 2, b: 3)
那么,如何编辑Swift代码来调用操作内部的函数呢

干杯

您可以为此使用元组:

let operations = (
    suma: suma
    multiplica: multiplica
)

print("sua operatio", operations.suma(2, 3)
请注意,名称是重复的。
前面的那一个只是一个标签,您可以用名称来引用它,而
后面的那一个实际上是指函数

我建议不要用JS风格编写Swift代码。您不应该像这样将函数分组在一起。改为编写一个类/结构,并在其中声明函数。必要时使用
static

您可以为此使用元组:

let operations = (
    suma: suma
    multiplica: multiplica
)

print("sua operatio", operations.suma(2, 3)
请注意,名称是重复的。
前面的那一个只是一个标签,您可以用名称来引用它,而
后面的那一个实际上是指函数


我建议不要用JS风格编写Swift代码。您不应该像这样将函数分组在一起。改为编写一个类/结构,并在其中声明函数。必要时使用
static

正如Sweeper在他的回答中提到的,与JS代码相当的Swift可能是一个具有静态函数的类

class Operations {
    static func suma(a:Int, b:Int) -> Int {
        return a + b
    }

    static func multiplica(a:Int, b:Int) -> Int {
        return a * b
    }
}
您可以这样调用函数

print("sua operatio \(Operations.suma(a: 2, b: 3))")

正如Sweeper在他的回答中提到的,JS代码的Swift等价物可能是一个具有静态函数的类

class Operations {
    static func suma(a:Int, b:Int) -> Int {
        return a + b
    }

    static func multiplica(a:Int, b:Int) -> Int {
        return a * b
    }
}
您可以这样调用函数

print("sua operatio \(Operations.suma(a: 2, b: 3))")