Swift – Parámetros de entrada y salida

En Swift, una función es una colección de declaraciones agrupadas para realizar una tarea específica. Una función puede contener o no un tipo de retorno. El tipo de retorno de la función decide el tipo de valor devuelto por una función. Por ejemplo, si queremos devolver un valor entero de una función, el tipo de retorno de la función debe ser Int, si queremos devolver un valor decimal de una función, el retorno de la función debe ser Flotante o Doble, etc. Podemos declarar una función en Swift con la ayuda de la palabra clave “ func ”. La sintaxis general de una función en Swift se da a continuación,

Sintaxis:

func myFunction(parámetros (opcional) ) -> returnType (opcional)

{

    // cuerpo

}

La función también contiene parámetros. Un parámetro es una variable que se define durante la declaración o definición de una función. De forma predeterminada, los parámetros pasados ​​a una función en Swift son parámetros constantes. Por constante queremos decir que el valor representado por ellos no se puede cambiar. Si intenta cambiar, el compilador dará un error.

Ejemplo:

func myFunction(num1: Int, num2: Int)

{

    // cuerpo

}

Aquí, num1 y num2 son los parámetros de la función. Entonces, para modificar el valor de los parámetros, use parámetros in-out. Entonces, en este artículo, nos enfocamos en los parámetros de entrada y salida utilizados en Swift.

Parámetros de entrada:

Supongamos que tenemos una función que acepta una serie de parámetros y queremos realizar cambios en los valores de esos parámetros. Además, estos cambios también deben reflejarse fuera de la función. En tales escenarios, podemos usar parámetros de entrada y salida. Significa que pasamos el valor de los parámetros en la función y lo pasamos fuera de la función para reemplazar el valor original de los parámetros. Los parámetros de entrada y salida siguen la misma sintaxis que hemos visto anteriormente en la sección, excepto que tenemos que especificar explícitamente » inout” palabra clave justo antes del tipo de datos y al llamar a la función tenemos que usar un ampersand (&) antes de los parámetros. Ampersand(&) le dice explícitamente al compilador que queremos modificar estos valores dentro de la función. Otra razón para usar Ampersand (&) es que queremos usar un alias para los parámetros existentes en lugar de hacer copias.

Sintaxis:

func myFunction(num1: int int, num2: int int)

{

    // cuerpo

}

Ejemplo 1:

En el siguiente programa, estamos intercambiando dos números enteros usando una tercera variable especificando parámetros de entrada y salida. Aquí, num1 y num2 se declaran como in-out para que podamos modificarlos. 

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)")

Producción:

Before swapping:
num1 is 10 and num2 is 20

After swapping:
num1 is 20 and num2 is 10

Ejemplo 2:

En el programa a continuación, estamos intercambiando dos strings usando una tercera variable especificando parámetros de entrada y salida. Aquí, string1 y string2 se declaran como in-out para que podamos modificarlos.

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)")

Producción:

Before swapping:
string1 is GeeksforGeeks and string2 is Geeks

After swapping:
string1 is Geeks and string2 is GeeksforGeeks

Publicación traducida automáticamente

Artículo escrito por bhuwanesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *