如何在func中调用变量来添加另一个函数
例如
func firstFunc () {
let number = 100
}
我希望将号码拨打到secondFunc
func secondFunc () {
*I want to call number from firstFunc to here*
}
我该怎么做?
答案 0 :(得分:3)
函数完成执行(返回)后,在其中声明的所有局部变量都将变得不可访问。因此,从number
访问secondFunc
而不更改firstFunc
是不可能的。
根据您的情况和最终目标,有几种方法可以做到这一点。
返回:
func firstFunc () {
let number = 100
return number
}
func secondFunc() {
print(firstFunc()) // 100
}
传递为参数:
func firstFunc () {
let number = 100
secondFunc(parameter: number)
}
func secondFunc(parameter: Int) {
print(parameter) // 100
}
内功能:
func firstFunc () {
let number = 100
func secondFunc() {
print(number) // 100
}
secondFunc()
}
返回,然后作为参数传递:
func firstFunc () {
let number = 100
return number
}
func secondFunc(parameter: Int) {
print(parameter) // 100
}
secondFunc(parameter: firstFunc())
让number
全局:
var number = 0
func firstFunc () {
number = 100
}
func secondFunc() {
print(number) // 100
}
答案 1 :(得分:1)
假设您不想将number
设置为类级变量,您可以直接在secondFunc
中访问,可以试试这个
func firstFunc() -> Int {
return 100
}
func secondFunc () {
*I want to call number from firstFunc to here*
let otherNumber = firstFunc()
}
答案 2 :(得分:0)
您可以在firstFunction或
中使用returnfunc firstFunc () {
let number = 100
func secondFunc () {
print(number)
}
}
其他方式是:
func firstFunc () -> Int{
let number = 100
return number
}
func secondFunc () {
print(firstFunc) //you will get value of number in firstFunc
}
答案 3 :(得分:0)
这里有两种选择。类变量或将变量传递给下一个函数。
示例1
var number = 100
func firstFunc () {
number = 100
}
func secondFunc () {
number = 2000
}
示例2
func firstFunc () {
var number = 100
secondFunc(number: number)
}
func secondFunc (var number:Int) {
number = 2000
}