gpt4 book ai didi

swift - 从类中调用函数

转载 作者:行者123 更新时间:2023-11-28 08:54:47 25 4
gpt4 key购买 nike

我正在尝试自信地使用函数。我正在练习下面的代码。

class Arithmetics {
var operand1: Double
var operand2: Double

init(operand1: Double, operand2: Double) {
self.operand1 = operand1
self.operand2 = operand2
}
func AddInsideClass(operand1: Double, operand2: Double) -> Double {
var sum = operand1 + operand2
return sum
}
}

func AddOutsideClass(operand1: Double, operand2: Double) -> Double {
var sum = operand1 + operand2
return sum
}

println(AddOutsideClass(5.5, 4.5))
println(Arithmetics.AddInsideClass(5.5, 4.5))

在最后两行中,我尝试调用函数并将它们输出到控制台。第一个 println() 从类外部调用函数,它工作正常。然而,第二个 println() 给了我一条错误消息,如下所示:

“stdin:23:35: 错误:调用中的额外参数println(算术.AddInsideClass(5.5, 4.5))^ ~~~”

这里有什么问题?

是因为我不能简单地直接调用类方法吗?或者我可以像下面这样仅通过类实例调用类方法吗?

var operation1: Double = Arithmetics.AddInsideClass(5.5, 4.5)

最佳答案

你有两个选择:

首先——使用你的语法——你将函数声明为静态的,你可以省略变量和init函数

class Arithmetics {

static func addInsideClass(operand1: Double, operand2: Double) -> Double {
var sum = operand1 + operand2
return sum
}
}

可以在类上调用(第二个参数名必填)

Arithmetics.addInsideClass(5.5, operand2:4.5)

其次 您创建了一个类的实例,现在在 add 函数中不需要操作数,因为它们是在 init 函数中设置的。

class Arithmetics {
var operand1: Double
var operand2: Double

init(operand1: Double, operand2: Double) {
self.operand1 = operand1
self.operand2 = operand2
}

func addInsideClass() -> Double {
var sum = operand1 + operand2
return sum
}
}

调用它的语法是

let operation1 = Arithmetics(operand1: 5.5, operand2: 4.5)
operation1.addInsideClass()

关于swift - 从类中调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33344703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com