Funciones en Go

En Go, las funciones son bloques de código que realizan tareas específicas y que pueden reutilizarse en todo el programa para ahorrar memoria, mejorar la legibilidad y ahorrar tiempo. Las funciones de Golang pueden o no devolver un valor al llamador.

Funciones en Go

Cosas que debes saber sobre las funciones en Golang

Por ejemplo:

package main
import "fmt"

// multiply() nhân 2 số nguyên và trả về kết quả
func multiply(a, b int) int {
    return a * b
}

func main() {
    result := multiply(5, 10)
    fmt.Printf("multiplication: %d", result)
}

Resultado:

multiplication: 50

Sintaxis de funciones en Golang

func function_name(Parameter-list)(Return_type) {
    // function body...
}

Declaración de función

En Go, una función se declara con la palabra clave func, seguida de un nombre, parámetros y un tipo de retorno opcional.

Sintaxis

func function_name(Parameter-list)(Return_type) {
    // function body...
}

Ejemplo de función de multiplicación

func multiply(a, b int) int {
    return a * b
}

func: Palabra clave para declarar una función.
function_name: El nombre de la función, p. ej. multiplicar.
Lista de parámetros: a, b int—los parámetros junto con sus tipos.
Return_type: int especifica el tipo de retorno.

Función de llamada

Para utilizar una función, simplemente llame a la función por su nombre con los argumentos necesarios. Aquí, multiply(5, 10) llama a la función con 5 y 10 como argumentos.

Por ejemplo

result := multiply(5, 10)
fmt.Printf("Result of multiplication: %d", result)

Argumentos de función

Go admite dos formas de pasar parámetros a funciones: llamada por valor y llamada por referencia. De forma predeterminada, Go utiliza llamada por valor, lo que significa que los valores se copian y los cambios dentro de la función no afectan las variables del llamador.

Llamada por valor

En la llamada por valor, los valores de los argumentos se copian en los parámetros de la función, por lo que los cambios en la función no afectan a las variables originales.

Por ejemplo:

package main
import "fmt"

func multiply(a, b int) int {
    a = a * 2 // chỉnh sửa bên trong hàm này
    return a * b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(x, y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

Resultado:

Before: x = 5, y = 10
multiplication: 100
After: x = 5, y = 10

Llamar por referencia

En la llamada por referencia, se utilizan punteros para que los cambios dentro de la función se reflejen en las variables del llamador.

Por ejemplo:

package main
import "fmt"

func multiply(a, b *int) int {
    *a = *a * 2 // chỉnh sửa giá trị của a ở địa chỉ bộ nhớ của nó
    return *a * *b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(&x, &y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

Resultado

Before: x = 5, y = 10
multiplication: 100
After: x = 10, y = 10

Dejar un comentario

Empadronamiento en Barcelona: requisitos, documentos y cómo hacer el alta

Empadronamiento en Barcelona: requisitos, documentos y cómo hacer el alta

Guía actualizada sobre el empadronamiento en Barcelona: requisitos, documentos según vivienda y nacionalidad, trámite online, cita en OAC y comprobación final.

Cómo tirar un móvil en Zaragoza: puntos limpios, tiendas y pasos antes de reciclarlo

Cómo tirar un móvil en Zaragoza: puntos limpios, tiendas y pasos antes de reciclarlo

Guía actualizada para reciclar un móvil en Zaragoza: puntos limpios fijos y móviles, entrega en tiendas, borrado de datos y errores que conviene evitar.

Cómo tirar un frigorífico en Terrassa: opciones, horarios y pasos seguros

Cómo tirar un frigorífico en Terrassa: opciones, horarios y pasos seguros

Descubre cómo tirar un frigorífico en Terrassa: deixalleries, horarios, documentos, transporte seguro y alternativas al comprar uno nuevo.

Empadronamiento en Bilbao: requisitos, documentos y cómo hacer el trámite sin errores

Empadronamiento en Bilbao: requisitos, documentos y cómo hacer el trámite sin errores

Guía actualizada para empadronarse en Bilbao: documentos de identidad y vivienda, casos con menores o autorización, dónde acudir y cómo comprobar el alta.

Cómo tirar una bicicleta en Oviedo: opciones, horarios y errores que debes evitar

Cómo tirar una bicicleta en Oviedo: opciones, horarios y errores que debes evitar

Descubre dónde tirar una bicicleta en Oviedo: Punto Limpio, recogida municipal, preparación, baterías eléctricas y comprobaciones antes de ir.

Cómo tirar una batería externa hinchada en Vigo: qué hacer y dónde llevarla

Cómo tirar una batería externa hinchada en Vigo: qué hacer y dónde llevarla

Guía para desechar una power bank hinchada en Vigo con seguridad: señales de riesgo, preparación, puntos limpios y cuándo cambiar de plan.

Cómo tirar aceite de cocina usado en Jerez de la Frontera: guía paso a paso

Cómo tirar aceite de cocina usado en Jerez de la Frontera: guía paso a paso

Aprende cómo tirar aceite de cocina usado en Jerez de la Frontera: enfríalo, guárdalo bien y llévalo a un contenedor de Madre Coraje o a un Punto Limpio confirmado.

Cómo tirar una bicicleta en A Coruña: 010, puntos limpios y opciones

Cómo tirar una bicicleta en A Coruña: 010, puntos limpios y opciones

Descubre cómo tirar una bicicleta en A Coruña: cuándo llamar al 010, qué hacer en Los Rosales o Eirís y cómo preparar una bicicleta normal o eléctrica.

Empadronamiento en Las Palmas de Gran Canaria: requisitos y documentos

Empadronamiento en Las Palmas de Gran Canaria: requisitos y documentos

Conoce los requisitos y documentos para empadronarte en Las Palmas de Gran Canaria: DNI o pasaporte, vivienda, menores, autorizaciones y trámite online.

Cómo tirar un aire acondicionado en Cartagena: ecoparques, retirada y RAEE

Cómo tirar un aire acondicionado en Cartagena: ecoparques, retirada y RAEE

Descubre cómo tirar un aire acondicionado en Cartagena: ecoparques, recogida de enseres, preparación segura y qué confirmar antes de llevarlo.