Swift – 输入输出参数
在 Swift 中,函数是组合在一起以执行特定任务的语句集合。函数可能包含也可能不包含返回类型。函数的返回类型决定了函数返回值的类型。例如,如果我们想从一个函数返回一个整数值,那么函数的返回类型必须是 Int,如果我们想从一个函数返回一个十进制值,那么函数的返回必须是 Float 或 Double 等. 我们可以借助“ func ”关键字在 Swift 中声明一个函数。 Swift 中函数的一般语法如下所示,
句法:
func myFunction(parameters (optional) ) -> returnType (optional)
{
// body
}
该函数还包含参数。参数是在函数声明或定义期间定义的变量。默认情况下,在 Swift 中传递给函数的参数是常量参数。我们所说的常数是指它们所代表的值不能改变。如果您尝试更改,那么编译器将给出错误。
例子:
func myFunction(num1: Int, num2: Int)
{
// body
}
这里,num1 和 num2 是函数的参数。所以要修改参数的值使用in-out参数。因此,在本文中,我们将重点关注 Swift 中使用的 in-out 参数。
进出参数:
假设,我们有一个接受多个参数的函数,并且我们想要更改这些参数的值。此外,这些变化也必须反映在函数之外。在这种情况下,我们可以使用 in-out 参数。这意味着我们在函数中传递参数值并从函数中传回以替换参数的原始值。输入输出参数遵循与我们在上面一节中看到的相同的语法,除了我们必须在数据类型之前显式指定“ inout ”关键字,并且在调用函数时,我们必须在参数之前使用 & 符号。 Ampersand(&) 明确告诉编译器我们要在函数内部修改这些值。使用与号 (&) 的另一个原因是我们希望为现有参数使用别名,而不是进行复制。
句法:
func myFunction(num1: inout Int, num2: inout Int)
{
// body
}
示例 1:
在下面的程序中,我们通过指定输入输出参数使用第三个变量交换两个整数。在这里,num1 和 num2 被声明为 in-out,所以我们可以修改它们。
Swift
// Swift program to demonstrate the working of in-out parameters
// Using in-out parameters in myFunction
func myFunction(_ num1: inout Int, _ num2: inout Int)
{
// Swapping num1 and num2
// by using a third variable
let temp = num1
num1 = num2
num2 = temp
}
// Initializing integers
var num1 = 10
var num2 = 20
// Before swapping
print("Before swapping:")
print("num1 is \(num1) and num2 is \(num2)")
myFunction(&num1, &num2)
// After swapping
print("\nAfter swapping:")
print("num1 is \(num1) and num2 is \(num2)")
Swift
// Swift program to demonstrate the
// working of in-out parameters
// Using in-out parameters in myFunction
func myFunction(_ string1: inout String, _ string2: inout String)
{
// Swapping string1 and string2
// by using a third variable
let temp = string1
string1 = string2
string2 = temp
}
// Initializing strings
var string1 = "GeeksforGeeks"
var string2 = "Geeks"
// Before swapping
print("Before swapping:")
print("string1 is \(string1) and string2 is \(string2)")
myFunction(&string1, &string2)
// After swapping
print("\nAfter swapping:")
print("string1 is \(string1) and string2 is \(string2)")
输出:
Before swapping:
num1 is 10 and num2 is 20
After swapping:
num1 is 20 and num2 is 10
示例 2:
在下面的程序中,我们通过指定输入输出参数使用第三个变量交换两个字符串。这里,string1 和 string2 被声明为 in-out,所以我们可以修改它们。
迅速
// Swift program to demonstrate the
// working of in-out parameters
// Using in-out parameters in myFunction
func myFunction(_ string1: inout String, _ string2: inout String)
{
// Swapping string1 and string2
// by using a third variable
let temp = string1
string1 = string2
string2 = temp
}
// Initializing strings
var string1 = "GeeksforGeeks"
var string2 = "Geeks"
// Before swapping
print("Before swapping:")
print("string1 is \(string1) and string2 is \(string2)")
myFunction(&string1, &string2)
// After swapping
print("\nAfter swapping:")
print("string1 is \(string1) and string2 is \(string2)")
输出:
Before swapping:
string1 is GeeksforGeeks and string2 is Geeks
After swapping:
string1 is Geeks and string2 is GeeksforGeeks