Methoden in Golang

Methoden in Golang  sind wie Funktionen, haben aber einen wesentlichen Unterschied: Sie haben ein Empfängerargument , das Zugriff auf die Eigenschaften des Empfängers gewährt . Der Empfänger kann ein Struktur- oder ein Nicht-Strukturtyp sein, beide müssen sich jedoch im selben Paket befinden. Methoden können nicht für Typen erstellt werden, die in anderen Paketen definiert sind, einschließlich integrierter Typen wie int oder string . Andernfalls gibt der Compiler einen Fehler aus.

Methoden in Golang

Zum Beispiel:

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()
}

Ergebnis:

Name: a
Age: 25

Syntax

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

Empfänger: Kann mit dieser Methode aufgerufen werden.

Methode mit Empfänger vom Strukturtyp

In Go können Sie eine Methode definieren, deren Empfänger vom Typ „Struct“ ist. Der Empfänger ist innerhalb der Methode zugänglich. Das vorherige Beispiel veranschaulicht diesen Ansatz mit einem Empfänger vom Typ „Struct“.

Methode mit Empfänger ist kein Strukturtyp

Go erlaubt auch Methoden mit Nicht-Struktur-Empfängern, solange sich Empfängertyp und Methodendefinition im selben Paket befinden. Sie können keine Methode mit einem Empfängertyp aus einem anderen Paket (z. B. int, string) definieren.

Zum Beispiel:

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)
}

Ergebnis:

Square of 4 is 16

Methode mit Empfängerzeiger

In Go können Methoden Zeigerempfänger haben. Dadurch können in der Methode vorgenommene Änderungen im Aufrufer widergespiegelt werden, was bei Wertempfängern nicht möglich ist.

Syntax:

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

Zum Beispiel:

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)
}

Ergebnis:

Before: a
After: b

Die Methode akzeptiert sowohl Zeiger als auch Werte

Im Gegensatz zu Funktionen können Go-Methoden sowohl Wert- als auch Zeigerempfänger akzeptieren. Sie können entweder einen Zeiger oder einen Wert übergeben, und die Methode verarbeitet ihn entsprechend.

Zum Beispiel:

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()
}

Ergebnis:

After pointer method: b
Name: b

Unterschied zwischen Methode und Funktion

Verfahren Kiefer
Enthält einen Empfänger Enthält keinen Empfänger
Es ist möglich, Methoden mit demselben Namen, aber unterschiedlichen Typen zu definieren. Funktionen mit gleichem Namen, aber unterschiedlichem Typ sind nicht zulässig.
Kann nicht als Superlativ verwendet werden Als übergeordnete Objekte nutzbar
Sign up and earn $1000 a day ⋙

Leave a Comment

Die besten Laptops für Studenten im Jahr 2025

Die besten Laptops für Studenten im Jahr 2025

Studierende benötigen für ihr Studium einen bestimmten Laptop-Typ. Dieser sollte nicht nur leistungsstark genug sein, um im gewählten Studienfach gute Leistungen zu erbringen, sondern auch kompakt und leicht genug, um ihn den ganzen Tag mit sich herumzutragen.

So fügen Sie Windows 10 einen Drucker hinzu

So fügen Sie Windows 10 einen Drucker hinzu

Das Hinzufügen eines Druckers zu Windows 10 ist einfach, allerdings ist der Vorgang für kabelgebundene Geräte anders als für kabellose Geräte.

So überprüfen Sie den RAM und die RAM-Fehler auf Ihrem Computer mit höchster Genauigkeit

So überprüfen Sie den RAM und die RAM-Fehler auf Ihrem Computer mit höchster Genauigkeit

Wie Sie wissen, ist RAM ein sehr wichtiger Hardwareteil eines Computers. Es dient als Speicher für die Datenverarbeitung und ist entscheidend für die Geschwindigkeit eines Laptops oder PCs. Im folgenden Artikel stellt WebTech360 einige Möglichkeiten vor, wie Sie mithilfe von Software unter Windows RAM-Fehler überprüfen können.

2 Möglichkeiten zur Behebung von Netzwerküberlastungen, die das WLAN verlangsamen

2 Möglichkeiten zur Behebung von Netzwerküberlastungen, die das WLAN verlangsamen

WLAN-Netzwerke werden von vielen Faktoren beeinflusst, die über Router, Bandbreite und Störungen hinausgehen. Es gibt jedoch einige clevere Möglichkeiten, Ihr Netzwerk zu verbessern.

So führen Sie mit Tenorshare Reiboot ein Downgrade von iOS 17 auf iOS 16 ohne Datenverlust durch

So führen Sie mit Tenorshare Reiboot ein Downgrade von iOS 17 auf iOS 16 ohne Datenverlust durch

Wenn Sie auf Ihrem Telefon zur stabilen Version von iOS 16 zurückkehren möchten, finden Sie hier die grundlegende Anleitung zum Deinstallieren von iOS 17 und zum Downgrade von iOS 17 auf 16.

Was passiert mit dem Körper, wenn man täglich Joghurt isst?

Was passiert mit dem Körper, wenn man täglich Joghurt isst?

Joghurt ist ein tolles Lebensmittel. Ist es gesund, täglich Joghurt zu essen? Was passiert mit Ihrem Körper, wenn Sie täglich Joghurt essen? Finden wir es gemeinsam heraus!

Welche Reissorte ist am gesündesten?

Welche Reissorte ist am gesündesten?

In diesem Artikel werden die nahrhaftesten Reissorten besprochen und wie Sie den gesundheitlichen Nutzen der Reissorte Ihrer Wahl maximieren können.

So wachen Sie morgens pünktlich auf

So wachen Sie morgens pünktlich auf

Das Erstellen eines Schlafplans und einer Schlafenszeitroutine, das Ändern Ihres Weckers und die Anpassung Ihrer Ernährung sind einige der Maßnahmen, die Ihnen helfen können, besser zu schlafen und morgens pünktlich aufzuwachen.

Mieten Sie bitte! Vermieter-Sim-Tipps für Anfänger

Mieten Sie bitte! Vermieter-Sim-Tipps für Anfänger

Miete bitte! Landlord Sim ist ein Simulationsspiel für iOS und Android. Du spielst den Vermieter eines Apartmentkomplexes und vermietest eine Wohnung mit dem Ziel, die Innenausstattung deiner Wohnungen zu modernisieren und sie für die Vermietung vorzubereiten.

Neueste Badezimmer-Tower-Defense-Codes und wie man Codes eingibt

Neueste Badezimmer-Tower-Defense-Codes und wie man Codes eingibt

Hol dir Roblox-Spielcodes für Bathroom Tower Defense und löse sie gegen tolle Belohnungen ein. Damit kannst du Türme mit höherem Schaden verbessern oder freischalten.

Warum ChatGPT besser ist als DeepSeek

Warum ChatGPT besser ist als DeepSeek

In DeepSeek waren anfangs große Hoffnungen gesetzt. Der KI-Chatbot wurde als starker Konkurrent von ChatGPT vermarktet und versprach intelligente Konversationsfunktionen und -erlebnisse.

Lernen Sie Fireflies.ai kennen: Die kostenlose KI-Sekretärin, die Ihnen stundenlange Arbeit erspart

Lernen Sie Fireflies.ai kennen: Die kostenlose KI-Sekretärin, die Ihnen stundenlange Arbeit erspart

Beim Notieren anderer wichtiger Dinge übersieht man leicht wichtige Details. Und während des Chats Notizen zu machen, kann ablenkend sein. Fireflies.ai ist die Lösung.

Wie man Axolotl in Minecraft züchtet, Minecraft Salamander zähmt

Wie man Axolotl in Minecraft züchtet, Minecraft Salamander zähmt

Axolot Minecraft ist für Spieler ein großartiger Helfer bei Unterwasseroperationen, wenn sie wissen, wie man ihn benutzt.

A Quiet Place: The Road Ahead PC-Spielkonfiguration

A Quiet Place: The Road Ahead PC-Spielkonfiguration

Die Konfiguration von „A Quiet Place: The Road Aheads“ wird ziemlich hoch bewertet, Sie müssen also die Konfiguration berücksichtigen, bevor Sie sich zum Herunterladen entscheiden.

Die mysteriöse Kraft der Zahl 33 in der Numerologie

Die mysteriöse Kraft der Zahl 33 in der Numerologie

In der Numerologie gilt die Zahl 33 oft als kraftvolle und mystische Zahl. Hier erfahren Sie, was Sie über die Zahl 33 in der Numerologie wissen müssen.