Métodos en Golang

Los métodos en Golang  son como funciones pero con una diferencia importante: tienen un argumento receptor , que permite el acceso a las propiedades del receptor . El receptor puede ser de tipo struct o no struct, pero ambos deben estar en el mismo paquete. No es posible crear métodos para tipos definidos en otros paquetes, incluidos tipos integrados como int o string ; De lo contrario, el compilador informará un error.

Métodos en Golang

Por ejemplo:

package main

import "fmt"

// Định nghĩa một struct
type person struct {
    name string
    age  int
}

// Định nghĩa một phương thức với struct receiver
func (p person) display() {
    fmt.Println("Name:", p.name)
    fmt.Println("Age:", p.age)
}

func main() {
    // Tạo một phiên bản của struct
    a := person{name: "a", age: 25}
    
    // Gọi phương thức
    a.display()
}

Resultado:

Name: a
Age: 25

Sintaxis

func(receiver_name Type)  method_name(parameter_list) (return_type) { 
// Code
}

Receptor: Se puede acceder mediante este método.

Método con receptor de tipo estructura

En Go, puedes definir un método donde el receptor sea de tipo estructura. El receptor es accesible dentro del método. El ejemplo anterior ilustra este enfoque con un receptor de tipo estructura.

El método con receptor no es de tipo estructura

Go también permite que los métodos tengan receptores que no sean estructuras, siempre que el tipo de receptor y la definición del método estén en el mismo paquete. No se puede definir un método con un tipo de receptor de otro paquete (por ejemplo, int, string).

Por ejemplo:

package main

import "fmt"

// Tạo một kiểu tùy biến dựa trên int
type number int

// Định nghĩa một phương thức với receiver không phải struct
func (n number) square() number {
    return n * n
}

func main() {
    a := number(4)
    b := a.square()

    fmt.Println("Square of", a, "is", b)
}

Resultado:

Square of 4 is 16

Método con puntero receptor

En Go, los métodos pueden tener receptores de punteros. Esto permite que los cambios realizados en el método se reflejen en el llamador, lo que no es posible con receptores de valores.

Sintaxis:

func (p *Type) method_name(...Type) Type {    // Code}

Por ejemplo:

package main

import "fmt"

// Defining a struct
type person struct {
    name string
}

// Phương thức với receiver pointer để chỉnh sửa dữ liệu
func (p *person) changeName(newName string) {
    p.name = newName
}

func main() {
    a := person{name: "a"}
    
    fmt.Println("Before:", a.name)
    
    // Gọi phương thức này để thay đổi tên
    a.changeName("b")
    
    fmt.Println("After:", a.name)
}

Resultado:

Before: a
After: b

El método acepta tanto puntero como valor

A diferencia de las funciones, los métodos Go pueden aceptar receptores tanto de valores como de punteros. Puede pasar punteros o valores y el método los manejará en consecuencia.

Por ejemplo:

package main
import "fmt"

type person struct {
    name string
}
// Phương thức với receiver pointer
func (p *person) updateName(newName string) {
    p.name = newName
}

// Phương thức với receiver value 
func (p person) showName() {
    fmt.Println("Name:", p.name)
}

func main() {
    a := person{name: "a"}
    
    // Gọi phương thức con trỏ cùng giá trị
    a.updateName("b")
    fmt.Println("After pointer method:", a.name)
    
    // Gọi phương thức giá trị với con trỏ
    (&a).showName()
}

Resultado:

After pointer method: b
Name: b

Diferencia entre método y función

Método Mandíbula
Contiene un receptor No contiene receptor
Es posible definir métodos con el mismo nombre pero diferentes tipos. No se permiten funciones con el mismo nombre pero de diferentes tipos.
No se puede utilizar como superlativo. Se pueden utilizar como objetos superordinados.

Leave a Comment

Solución de problemas de actualizaciones de error H en Microsoft Teams

Solución de problemas de actualizaciones de error H en Microsoft Teams

¿Tiene problemas con el Error H de Microsoft Teams durante las actualizaciones? Descubra cómo solucionar el Error H de Microsoft Teams, sus causas comunes y soluciones rápidas para restablecer una colaboración fluida. Actualizado con las últimas soluciones.

Solución de problemas de errores de llavero en Microsoft Teams para Mac

Solución de problemas de errores de llavero en Microsoft Teams para Mac

¿Tienes problemas con el llavero de errores de Microsoft Teams para Mac? Descubre soluciones paso a paso y probadas para macOS y recupera una colaboración fluida. ¡Soluciones rápidas en el interior!

Cómo solucionar el error 1200 de Microsoft Teams en tu teléfono (iOS/Android)

Cómo solucionar el error 1200 de Microsoft Teams en tu teléfono (iOS/Android)

¿Cansado de que el error 1200 de Microsoft Teams bloquee tus llamadas? Descubre soluciones rápidas y paso a paso para iOS y Android y vuelve a trabajar en equipo sin problemas rápidamente, ¡sin necesidad de conocimientos técnicos!

¿Por qué falló mi grabación en Microsoft Teams? Razones comunes

¿Por qué falló mi grabación en Microsoft Teams? Razones comunes

¿Frustrado porque tu grabación de Microsoft Teams falló? Descubre las razones más comunes, como problemas de permisos, límites de almacenamiento y fallos de red, además de soluciones paso a paso para evitar futuros fallos y grabar siempre de forma impecable.

¿Por qué no puedo ver las salas de grupos pequeños en mi reunión de Teams?

¿Por qué no puedo ver las salas de grupos pequeños en mi reunión de Teams?

¿Frustrado porque las salas de reuniones no aparecen en tu reunión de Teams? Descubre las principales razones por las que no puedes verlas en Teams y sigue nuestras soluciones paso a paso para que funcionen correctamente en minutos. ¡Ideal tanto para organizadores como para participantes!

Solución de errores de red de Microsoft Teams en redes Wi-Fi públicas

Solución de errores de red de Microsoft Teams en redes Wi-Fi públicas

¿Tienes problemas con un error de red de Microsoft Teams en una red Wi-Fi pública? Obtén soluciones instantáneas como ajustes de VPN, comprobaciones de puertos y borrado de caché para restaurar llamadas y reuniones sin problemas. Guía paso a paso para una solución rápida.

¿Dónde está la papelera de reciclaje de Microsoft Teams? Cómo recuperar archivos borrados

¿Dónde está la papelera de reciclaje de Microsoft Teams? Cómo recuperar archivos borrados

¿Perdiste archivos importantes en Microsoft Teams? Descubre la ubicación exacta de la Papelera de reciclaje de Microsoft Teams y sigue nuestros pasos comprobados para recuperar archivos eliminados de forma rápida y sencilla, ¡sin necesidad de conocimientos técnicos!

Cómo configurar el estado Fuera de oficina en Microsoft Teams

Cómo configurar el estado Fuera de oficina en Microsoft Teams

Descubre cómo configurar el estado "Fuera de oficina" en Microsoft Teams con sencillos pasos para escritorio, móvil y sincronización con Outlook. Mantén la profesionalidad mientras estás fuera: ¡configuración rápida en minutos!

Dónde encontrar el código QR de Microsoft Teams para iniciar sesión rápidamente en dispositivos móviles

Dónde encontrar el código QR de Microsoft Teams para iniciar sesión rápidamente en dispositivos móviles

Descubre exactamente dónde encontrar el código QR de Microsoft Teams para iniciar sesión móvil ultrarrápido. Guía paso a paso con imágenes para conectarte en segundos, ¡sin necesidad de contraseñas!

Solución del error al unirse a una reunión en Microsoft Teams mediante un enlace directo

Solución del error al unirse a una reunión en Microsoft Teams mediante un enlace directo

¿Tienes problemas con el error al unirte a una reunión de Microsoft Teams? Descubre pasos comprobados para solucionarlo mediante enlaces directos. Soluciones rápidas para unirte sin problemas, ¡sin necesidad de conocimientos técnicos!

Cómo instalar el complemento de Microsoft Teams para Outlook 2026

Cómo instalar el complemento de Microsoft Teams para Outlook 2026

Domine la instalación del complemento de Microsoft Teams para Outlook 2026 sin esfuerzo. Aumente su productividad con una programación y reuniones fluidas. ¡Siga nuestros pasos probados y actualizados para un éxito inmediato!

¿Dónde está mi calendario de Teams? Solución de problemas de sincronización

¿Dónde está mi calendario de Teams? Solución de problemas de sincronización

¿Frustrado por "¿Dónde está mi calendario de Teams?"? Soluciona los problemas de sincronización en Microsoft Teams paso a paso. Restaura la vista de tu calendario y sincroniza sin esfuerzo: ¡consejos de expertos incluidos!

Cómo solucionar el error de inicio de sesión de Microsoft Teams en Chromebooks

Cómo solucionar el error de inicio de sesión de Microsoft Teams en Chromebooks

¿Tienes problemas con el inicio de sesión de Microsoft Teams en Chromebooks? Descubre soluciones paso a paso para resolver problemas de inicio de sesión rápidamente. Borra la caché, actualiza apps y mucho más para trabajar en equipo sin problemas. ¡Funciona con la última versión de Chrome OS!

Cómo cambiar tu foto de perfil de Microsoft Teams en iPhone y Android

Cómo cambiar tu foto de perfil de Microsoft Teams en iPhone y Android

Descubre la forma más sencilla de cambiar tu foto de perfil de Microsoft Teams en iPhone y Android. Guía paso a paso con capturas de pantalla para actualizaciones fluidas en la última versión de la app. ¡Mejora tu imagen profesional hoy mismo!

Solución de problemas de Microsoft Teams hoy: Qué comprobar primero

Solución de problemas de Microsoft Teams hoy: Qué comprobar primero

¿Te encuentras con un error en Microsoft Teams hoy? Esta guía paso a paso para la solución de problemas de Microsoft Teams te muestra las primeras comprobaciones para resolverlo rápidamente. Soluciones rápidas para la conectividad, la caché y las actualizaciones para que puedas volver a chatear sin problemas.