Funciones en Go (Golang) | audacia

Una función en Go (Golang) es un bloque de código reutilizable que realiza una tarea específica.

Las funciones son una parte fundamental de los programas que escribimos. Se pueden definir e invocar como en muchos otros lenguajes de programación, y también promueven la modularidad y legibilidad de nuestro código. En esta publicación, analizaremos de cerca las funciones y exploraremos algunas de las formas en que se pueden usar.

sintaxis

Aquí está la firma de una función:

func <name>(<parameters>) <return type> {
   // Body of the function
}

Las declaraciones de funciones comienzan con el func palabra clave, seguida de una nombre para la función, entonces cualquier separado por comas ajustesentonces el tipo de datos de la función valor de retorno (Si alguna).

Dentro del cuerpo de la función, podemos incluir cualquier lógica personalizada que queramos. Tenga en cuenta que, por convención, los cuerpos de funciones deben permanecer relativamente cortos y «solo hacer una cosa».

Aquí hay un ejemplo de una función que toma dos enteros como entrada y devuelve su suma:

package main

import "fmt"

func sum(x, y int) int {
 return x + y
}

func main() {
 fmt.Println(sum(41, 10)) // Output: 51
}

En el ejemplo anterior, la función sum aceptar dos parámetros del usuario: x y yambos de tipo int. Entonces cuando x + y se evalúa, la función devuelve un valor de tipo int.

Tenga en cuenta que también definimos un main función, una función sin parámetros y sin valor de retorno. Esta función sirve como el «punto de entrada» de un programa Go. Eso es el main La función es lo que se ejecuta cuando ejecuta un programa Go. Como tal, cuando se ejecuta el programa anterior, el main función invoca sum(41, 10) e impresiones 51 a la consola

Las funciones no pueden tener parámetros

Tenga en cuenta que mientras que las funciones pueden aceptar cualquier número de parámetros (como se ve con el sum función), tener cualquier parámetro de entrada es completamente opcional (como hemos visto con el main función).

Las funciones sin parámetros son útiles para los casos en los que desea realizar tareas específicas que no requieren ninguna entrada externa, o cuando las entradas pueden ser determinadas automáticamente por la propia función. Por ejemplo, puede escribir una función para obtener la hora actual:

package main

import (
 "fmt"
 "time"
)

func getCurrentTime() {
 time := time.Now()
 fmt.Println("The current time is: ", time)
}

func main() {
 getCurrentTime()
}

También puede escribir una función que simplemente imprima un mensaje fijo:

package main

import "fmt"

func greeting() {
 fmt.Println("Hello world!")
}

func main() {
 greeting()
}

En cada uno de estos ejemplos, el nombre de la función va seguido de paréntesis vacíos, lo que indica que la función no acepta ningún parámetro.

Las funciones pueden tener múltiples valores de retorno

En los ejemplos anteriores, hemos visto funciones con valores de retorno cero (es decir, getCurrentTime y greeting), así como una función con un único valor de retorno (es decir, sum). Go también tiene soporte incorporado para que una función tenga múltiple valores de retorno. Considere el siguiente ejemplo:

package main

import (
 "errors"
 "fmt"
)

func divide(a, b float64) (float64, error) {
 if b == 0 {
   return 0, errors.New("divided by zero")
 }

 return a / b, nil
}

func main() {
 fmt.Println(divide(8, 2))
 fmt.Println(divide(10, 0))
}

Aquí, la función divide aceptar dos float64 valores como entrada: a y b. Como resultado de las operaciones en el cuerpo de la función, la función devuelve dos valores: el resultado de la división, así como un error (si el segundo parámetro es cero). Como tal, cuando divide(8, 2) se evalúa, vemos 4 <nil> impreso en la consola. Y cuando divide(10, 0) se evalúa, vemos 0 divided by zero.

Al devolver múltiples valores, las funciones pueden proporcionar más información y contexto al usuario que invoca la función, lo que puede ayudar con el manejo de errores y el procesamiento de datos.

Más información sobre las funciones

Las funciones son una característica poderosa del lenguaje de programación Go. Permiten a los desarrolladores encapsular la lógica, definir cualquier parámetro de entrada del usuario y devolver muchos valores. Las funciones son una característica esencial para cualquier lenguaje de programación, y Go proporciona una implementación robusta y flexible. Para obtener más información sobre las funciones y cómo aprovecharlas en los programas Go que escribe, inscríbase en el curso Golang de Udacity.

Deja una respuesta

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