首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >var中的Swift函数

var中的Swift函数
EN

Stack Overflow用户
提问于 2020-11-12 06:07:44
回答 2查看 42关注 0票数 1

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

这里的JS例子..。

代码语言:javascript
复制
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上实现同样的目标呢?

在这里,我已经尝试过:

代码语言:javascript
复制
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代码来调用函数内部的操作呢?

干杯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-12 06:16:34

为此,您可以使用一个元组:

代码语言:javascript
复制
let operations = (
    suma: suma
    multiplica: multiplica
)

print("sua operatio", operations.suma(2, 3)

请注意,名称是重复的。:前面的那个只是一个标签,所以您可以用一个名称来引用它,而在:之后的那个实际上是指函数。

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

票数 2
EN

Stack Overflow用户

发布于 2020-11-12 06:24:16

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

代码语言:javascript
复制
class Operations {
    static func suma(a:Int, b:Int) -> Int {
        return a + b
    }

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

您可以这样调用这些函数

代码语言:javascript
复制
print("sua operatio \(Operations.suma(a: 2, b: 3))")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64798744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档