En este artículo, aprenderá todo sobre funciones, qué es una función, sintaxis y tipos en Swift con ejemplos.
¿Qué es una función?
Una función es un grupo de declaraciones que define una acción a realizar. El uso principal de una función es hacer que el código sea reutilizable.
No técnicamente, puede pensar en una función como una máquina. Una máquina realiza una tarea específica, solicita entrada, procesa la entrada y devuelve la salida.
Tipos de funciones
Dependiendo de si una función está predefinida o creada por el programador; hay dos tipos de funciones:
- Funciones de biblioteca: funciones que ya están definidas en Swift Framework.
- Funciones definidas por el usuario: funciones creadas por el propio programador.
Funciones de biblioteca
Las funciones de la biblioteca son funciones integradas que ya están definidas en el marco Swift. Estas funciones están presentes para resolver problemas comunes en Swift para que no tenga que resolverlos usted mismo. Son operaciones sencillas como imprimir, encontrar mínimo y máximo, etc.
Puede usar la función de biblioteca directamente invocándola (llamándola). Si lo desea, puede ver todas las funciones dentro del marco Swift. Simplemente escriba import Swift, presione Cmd y haga clic en él. Navegará a una nueva página. Busque todas las declaraciones que comienzan con la func
palabra clave.
Ejemplo 1: biblioteca o función integrada
print("Hello, World!")
Cuando ejecute el programa anterior, la salida será:
¡Hola Mundo!
En el programa anterior, hemos invocado una print
función incorporada definida en Swift Framework. La función se utiliza para imprimir la salida en la consola.
Podemos llamar a la print()
función porque el marco Swift se importa automáticamente a nuestro patio de juegos. De lo contrario, deberíamos haberlo importado nosotros mismos por escrito import Swift
.
Funciones definidas por el usuario
Swift también le permite definir su propia función. Crear su propia función ayuda a escribir código para resolver problemas o realizar tareas que no están disponibles en Swift Framework. También puede reutilizar su función para realizar tareas similares en el futuro.
Asimismo, las funciones también se pueden categorizar en base a parámetros y declaraciones de retorno. Consulte el artículo Tipos de parámetros de función Swift y tipos de retorno.
Definición de una función
func function_name (args…) -> ReturnType (// declaraciones devuelven valor)
Describamos brevemente cada componente:
func
es la palabra clave que debe escribir para crear una funciónfunction_name
es el nombre de una función. Puede darle cualquier nombre que defina lo que hace una función.args…
define la entrada que acepta una función.->
Este operador se utiliza para indicar el tipo de retorno de una función.ReturnType
define el tipo de valor que puede devolver una función. Por ejemploInt
,String
etc.return
La palabra clave se utiliza para transferir el control de un programa a la llamada de función y también devolver el valor de una función.
Incluso si no especifica la palabra clave return, la función regresa automáticamente después de la ejecución de la última declaración.value
representa los datos reales que devuelve la función. El tipo de valor debe coincidir con elReturnType
.
¿Cómo funciona la función?
En el diagrama anterior, la declaración function_name(args)
invoca / llama a la función con valores de argumento args, que luego deja la sección actual de código (es decir, deja de ejecutar declaraciones debajo de ella) y comienza a ejecutar la primera línea dentro de la función.
- El programa llega a una línea de código
func function_name(Args… )
y acepta los valores args pasados durante la llamada a la funciónfunction_name(args)
. - El programa luego ejecuta las declaraciones
statementsInsideFunction
definidas dentro de la función. - Las sentencias dentro de la función se ejecutan en orden de arriba hacia abajo, una tras otra.
- Después de la ejecución de la última instrucción, el programa abandona la función y vuelve a donde comenzó, es decir
function_name(args)
. let val =
almacena el valor devuelto por la función en un valor constante. Del mismo modo, puede almacenar en una variable comovar val =
.- Después de eso,
statementsOutsideFunction
se ejecutan las declaraciones .
Ejemplo 2: ¿Cómo definir una función en Swift?
func greet(user:String) ( print("Good Morning! (user)") )
Arriba se muestra una definición de función que consta de los siguientes componentes:
- La palabra clave
func
marca el inicio del encabezado de la función. greet
es un nombre de función para identificar y llamar de forma única a la función en el programa.(user:String)
marca el final del encabezado de la función y acepta un parámetro de tipoString
. Consulte el artículo Tipos de parámetros de función Swift y tipos de retorno que define la función con parámetros.- La función consiste en una
print
declaración dentro del cuerpo que se ejecuta después de llamar a la función.
Llamar a una función
Una vez que haya creado una función, puede llamarla en su programa para ejecutar las declaraciones declaradas dentro de la función. Para llamar a una función, simplemente escriba el nombre de la función seguido de () y pase los parámetros de entrada dentro de ella como:
saludar (usuario: "Isac")
Ejemplo 3: Llamar a una función en Swift
func greet(user:String) ( print("Good Morning! (user)") ) greet(user: "Isac")
Cuando ejecute el programa anterior, la salida será:
¡Buenos días! Isac
En el código anterior, greet(user: "Isac")
llama a la función y pasa el valor Isac
de tipo String
. Después de eso, se print
ejecuta la instrucción dentro de la función.
Declaración de devolución
La palabra clave return le dice al programa que deje la función y regrese a la línea donde se realizó la llamada a la función.
También puede pasar valor con la return
palabra clave donde valor es una variable u otra información procedente de la función.
Ejemplo 3: función con palabra clave return
func greet(user:String)-> String ( return "Good Morning! (user)" ) let greeting = greet(user: "Isac") print(""" You have a new message (greeting) """)
Cuando ejecute el programa anterior, la salida será:
Tienes un nuevo mensaje ¡Buenos días! Isac
En el código anterior, greet(user: "Isac")
llama a la función y pasa el valor Isac
de tipo String
. return "Good Morning! (user)"
declaración devuelve el valor de tipo String
y transfiere el programa a la llamada de función.
let greeting =
almacena el valor devuelto por la función. Una vez que la función regresa, se print
ejecuta la instrucción debajo de la llamada a la función.
Cosas para recordar
- Dé un nombre de función que refleje el propósito de la función.
- Una función debe realizar solo una tarea. Si una función hace más de una tarea, divídala en varias funciones.
- Intente pensar temprano y agrupar declaraciones dentro de una función que haga que el código sea reutilizable y modular.