Parámetros de la función Swift y valores devueltos

Una función es una pieza de código que se utiliza para realizar alguna tarea específica. Al igual que otros lenguajes de programación, Swift también tiene funciones y la función tiene su nombre, lista de parámetros y valor de retorno. Su sintaxis es lo suficientemente flexible para crear funciones simples y complejas. Todas las funciones en Swift tienen un tipo, lo que hace que la función sea mucho más fácil de pasar una función como parámetro a otra función o devolver una función de otra función o crear funciones anidadas. Una función se define usando la palabra clave func . Y puede llamar a una función simplemente por su nombre.

Sintaxis:

func functionName(ParameterName: type) ->returnType{

// Cuerpo de la función

}

Ahora discutiremos cómo funciona la función con o sin parámetros y valores de retorno.

Función sin parámetros y valor de retorno 

En Swift, una función se puede definir sin parámetros y valor de retorno. Esta función devuelve el mismo valor cada vez que se llaman. La definición de la función aún requiere paréntesis vacíos con el nombre incluso cuando se llama a la función.

Sintaxis:

func nombreFunción(){

// Cuerpo de la función

}

Ejemplo:

Swift

// Swift program to illustrate Function Without Parameters
// and Return Value
import Swift
 
// Creating a function
// Without any parameter and return value
func geeksforgeeks(){
    print("Lets learn something new!!")
}
 
// Calling the function
geeksforgeeks()

Producción:

Lets learn something new!!

Función con valor devuelto y sin parámetro

En Swift, una función se puede definir con un valor de retorno y sin un parámetro. Este tipo de función devuelve el mismo tipo de valor cada vez que se llama y no puede permitir que el control abandone la parte inferior de la función sin devolver un valor si lo intenta, obtendrá un error de tiempo de compilación. La definición de la función aún requiere paréntesis vacíos seguidos de un tipo de retorno y podemos llamar a ese tipo de función con su nombre seguido de paréntesis vacíos. 

Sintaxis:

func functionName()->ReturnValue{

// Cuerpo de la función

}

Ejemplo:

Swift

// Swift program to illustrate Function With Return Value
// and Without Parameter
import Swift
 
// Creating a function with return value
// and without Parameter
func geeksforgeeks() -> String{
    return "Lets learn something new!!"
}
 
// Calling the function
let display = geeksforgeeks()
 
// Displaying the results
print(display)

Producción:

Lets learn something new!!

Función con parámetro y sin valor de retorno

En Swift, una función se puede definir con un parámetro y sin un valor de retorno. Este tipo de función no contiene un valor de retorno en la definición de la función. Aunque este tipo de función no está definida con un valor de retorno, aún así devolverá un valor especial de tipo void. Cuando llamamos a este tipo de función, el valor devuelto puede ignorarse.

Sintaxis:

func functionName(parameterName: type){

// Cuerpo de la función

}

Ejemplo:

Swift

// Swift program to illustrate Function With Parameter
import Swift
 
// Creating a function with parameter
func geeksforgeeks(stat: String){
    print(stat)
}
 
// Calling the function
geeksforgeeks(stat: "Lets learn something new!!")

Producción:

Lets learn something new!!

Función con un parámetro y valor de retorno

En Swift, una función se puede definir con un parámetro y un valor de retorno. Este tipo de definición de función contiene tanto parámetros como el valor de retorno. Aquí, el valor de retorno de la función no se puede ignorar y no se puede permitir que el control abandone la parte inferior de la función sin devolver un valor; si lo intenta, obtendrá un error en tiempo de compilación. No es necesario que el tipo de datos del parámetro y el tipo de retorno sean similares.

Sintaxis:

func functionName(parameterName: type) -> returnValue{

// Cuerpo de la función

}

Ejemplo:

Swift

// Swift program to illustrate Function With
// parameter and return value
import Swift
 
// Creating a function with parameter
// and return value
func geeksforgeeks(bonus: Int) -> Int{
    let empsalary = bonus + 20000
    return empsalary
}
 
// Calling the function
var updatedData = geeksforgeeks(bonus: 1000)
 
// Display the updated salary
print("New salary: ", updatedData)

Producción:

New salary:  21000

Función con múltiples parámetros y valor de retorno único

En Swift, una función se puede definir con múltiples parámetros y un valor de retorno. En este tipo de función, la definición contiene múltiples parámetros separados por comas entre paréntesis y el valor de retorno.

Sintaxis:

func functionName(parameterName1: tipo, parámetroName2: tipo, parámetroName3: tipo) -> returnValue{

// Cuerpo de la función

}

Ejemplo:

Swift

// Swift program to illustrate Function With
// multiple parameters and a return value
import Swift
 
// Creating a function with multiple parameters
// and a return value
func geeksforgeeks(newArticle: Int, OldArticle: Int) -> Int{
    let ArticleCount = newArticle + OldArticle
    return ArticleCount
}
 
// Calling the function
var updatedData = geeksforgeeks(newArticle: 30, OldArticle: 230)
 
// Display the updated data
print("Total count of the Articles: ", updatedData)

Producción:

Total count of the Articles:  260

Función con parámetro único y múltiples valores de retorno

En Swift, una función se puede definir con un parámetro y múltiples valores de retorno. En este tipo de función, la definición contiene un parámetro y múltiples valores de retorno separados por comas entre paréntesis. Aquí, Swift usa el tipo de tupla como tipo de devolución para devolver múltiples valores como parte de una sola unidad o compuesto. En la tupla, también podemos proporcionar la etiqueta a cada valor devuelto para que se pueda acceder a ellos utilizando su nombre con la ayuda de la sintaxis de puntos. Además, recuerde que no es necesario proporcionar los nombres de los miembros de la tupla cuando la función los devuelve porque sus nombres ya están especificados en la parte de tipo de devolución de la función.

Sintaxis:

func functionName(parameterName: tipo) -> (returnValueName1: tipo, returnValueName2: tipo, returnValueName3: tipo){

// Cuerpo de la función

}

Ejemplo:

Swift

// Swift program to illustrate Function With
// a parameter and multiple return values
import Swift
 
// Creating a function with a parameter
// and multiple return values.
// This function is used to find the minimum
// and maximum salary of the employees
func geeksforgeeks(ESalary: [Int]) -> (minSalary: Int, maxSalary: Int){
 
    // Creating two variables that contains the
    // value of first integer in the array
    var MinValue = ESalary[0]
    var MaxValue = ESalary[0]
     
    // Iterate the array to find the minimum
    // and maximum value
    for newValue in ESalary[1..<ESalary.count]{
        if newValue < MinValue{
            MinValue = newValue
        }
        if newValue > MaxValue{
            MaxValue = newValue
        }
    }
     
    // Returning the minimum and maximum values
    // that we find from the array
    return(MinValue, MaxValue)
}
 
// Calling the function
var updatedData = geeksforgeeks(ESalary: [23000, 15000, 450000, 50000, 12000])
 
// Display the minimum salary
print("Minimum salary of the GEmployee: ", updatedData.minSalary)
 
// Display the maximum salary
print("Maximum salary of the GEmployee: ", updatedData.maxSalary)

Producción:

Minimum salary of the GEmployee:  12000
Maximum salary of the GEmployee:  450000

Función con múltiples parámetros y valores de retorno

En Swift, una función se puede definir con múltiples parámetros y valores de retorno. En este tipo de función, la definición contiene múltiples parámetros y valores de retorno separados por comas entre paréntesis. Aquí, Swift usa el tipo de tupla como tipo de devolución para devolver múltiples valores como parte de una sola unidad o compuesto. En la tupla, también podemos proporcionar la etiqueta a cada valor devuelto para que se pueda acceder a ellos utilizando su nombre con la ayuda de la sintaxis de puntos. 

Sintaxis:

func functionName(parameterName1: tipo, parámetroName2: tipo, parámetroName3: tipo) -> (returnValueName1: tipo, returnValueName2: tipo, returnValueName3: tipo){

// Cuerpo de la función

}

Ejemplo:

Swift

// Swift program to illustrate Function With
// multiple parameters and return values
import Swift
 
// Creating a function with multiple parameters
// and multiple return values.
func geeksforgeeks(EName: String, EAge: Int, ESalary: Int) -> (FullName: String, CurrentAge: Int, CurrentSalary: Int){
 
    // Updating old data
    let FullName = EName + " Singh"
    let NewAge = EAge + 1
    let NewSalary = ESalary + 2000
     
    // Returning multiple values
    return(FullName, NewAge, NewSalary)
}
 
// Calling the function
var updatedData = geeksforgeeks(EName: "Sumit", EAge: 23, ESalary: 23000)
 
// Display the full name
print("Full name of the GEmployee: ", updatedData.FullName)
 
// Display the current age
print("Current age of the GEmployee: ", updatedData.CurrentAge)
 
// Display the current salary
print("Current salary of the GEmployee: ", updatedData.CurrentSalary)

Producción:

Full name of the GEmployee:  Sumit Singh
Current age of the GEmployee:  24
Current salary of the GEmployee:  25000

Función con tipo de devolución de tupla opcional

En Swift, una función se puede definir con un tipo de retorno de tupla opcional. En tal tipo de función, se devolverá un tipo de tupla de una función que no tiene valor para la tupla completa o podemos decir que la tupla completa es nula. En una definición de función, para definir un tipo de devolución de tupla opcional, simplemente coloque un signo de interrogación después de cerrar el paréntesis (como se muestra en la siguiente sintaxis).

Sintaxis:

func functionName(parameterName: tipo) ->(returnValueName1: tipo, returnValueName2: tipo)? {

// Cuerpo de la función

}

¿Recuerda siempre el tipo de tupla opcional, por ejemplo (String, String)? es diferente de la tupla que contiene tipos opcionales, por ejemplo (¿string?, ¿string?). Aquí toda la tupla es opcional, no el valor individual de la tupla. El uso del tipo de devolución de tupla opcional se explica en el siguiente ejemplo. En el siguiente ejemplo, si no usamos un tipo de devolución de tupla opcional, obtendremos un error al intentar acceder a ESalary[0]. Para manejar arrays vacías de forma segura, usamos un tipo de retorno de tupla opcional.

Ejemplo:

Swift

// Swift program to illustrate Function With
// Optional Tuple Return Type
import Swift
 
// Creating a function with Optional Tuple Return Type
// This function will return nil when the given array is empty
func geeksforgeeks(ESalary: [Int]) -> (minSalary: Int, maxSalary: Int)?{
 
    // If the given array is empty then return nil
    if ESalary.isEmpty
    {
        return nil
    }
     
    // Creating two variables that contains the
    // value of first integer in the array
    var MinValue = ESalary[0]
    var MaxValue = ESalary[0]
     
    // Iterate the array to find the minimum
    // and maximum value
    for newValue in ESalary[1..<ESalary.count]{
        if newValue < MinValue{
            MinValue = newValue
        }
        if newValue > MaxValue{
            MaxValue = newValue
        }
    }
     
    // Returning the minimum and maximum data
    // that we find from the ESalary array
    return(MinValue, MaxValue)
}
 
// Calling the function
var updatedData = geeksforgeeks(ESalary: [])
 
print("Given array : ", updatedData)

Producción:

Given array :  nil

Función con un tipo de retorno implícito

En Swift, todo el cuerpo de la función se puede definir como una sola expresión. Este tipo de función devuelve implícitamente la expresión especificada. Puede eliminar la palabra clave de retorno si la función está escrita como una línea de retorno. Recuerde siempre que el valor de retorno implícito debe devolver algo. No está permitido usar simplemente imprimir («geeksforgeeks») como un valor de retorno implícito, aunque puede usar funciones que nunca regresan como un valor de retorno implícito, por ejemplo, fatalError(), etc. 

Sintaxis:

func functionName(parameterName: type) -> returnValue{

// Expresión

}

Ejemplo:

Swift

// Swift program to illustrate Function With an Implicit Return Type
import Swift
 
// Creating a function with an Implicit Return Type
func geeksforgeeks(for EAuthor: String) -> String{
"Geek of the Month is " + EAuthor + " !!Congratulations!!"
}
 
// Calling the function and displaying the final result
print(geeksforgeeks(for: "Mohit"))

Producción:

Geek of the Month is Mohit !!Congratulations!!

Publicación traducida automáticamente

Artículo escrito por ankita_saini 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 *