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

Einen Kommentar hinterlassen

Side Hustles That Actually Pay in 2026: 7 Realistic Options and the Tradeoffs to Know

Side Hustles That Actually Pay in 2026: 7 Realistic Options and the Tradeoffs to Know

Compare realistic side hustles for 2026 by startup cost, fees, flexibility, and income control, with current tax and scam guidance from official sources.

Ergonomie im Homeoffice 2026: So optimieren Sie Ihr Heimbüro, ohne zu viel auszugeben

Ergonomie im Homeoffice 2026: So optimieren Sie Ihr Heimbüro, ohne zu viel auszugeben

Verbessern Sie die Ergonomie Ihres Homeoffice mit den aktuellen OSHA- und NIOSH-Richtlinien zu Stuhlpassform, Monitorhöhe, Laptop-Aufstellung, Beleuchtung und Bewegungsabläufen.

Why Emotional Intelligence Matters in Leadership—and How to Build It

Why Emotional Intelligence Matters in Leadership—and How to Build It

Learn why emotional intelligence matters in leadership, where it helps most, how to strengthen it, and how to tell whether your approach is working.

Wie man ohne Hochschulabschluss in eine Technologiekarriere wechselt: Ein ergebnisorientierter Fahrplan für 2026

Wie man ohne Hochschulabschluss in eine Technologiekarriere wechselt: Ein ergebnisorientierter Fahrplan für 2026

Ein praktischer Leitfaden für den Einstieg in die Tech-Branche ohne Hochschulabschluss: Wählen Sie eine leicht zugängliche Stelle, erwerben Sie berufsrelevante Fähigkeiten, beweisen Sie diese anhand von Projekten und nutzen Sie das Feedback aus dem Bewerbungsprozess, um sich zu verbessern.

Aufbau einer persönlichen Marke auf LinkedIn im Jahr 2026: Was funktioniert noch, was hat sich verändert und was sollte man ignorieren?

Aufbau einer persönlichen Marke auf LinkedIn im Jahr 2026: Was funktioniert noch, was hat sich verändert und was sollte man ignorieren?

Bauen Sie im Jahr 2026 eine glaubwürdige LinkedIn-Personalmarke auf – mit aktuellem Profil, Inhalten, Newsletter, Analysen, Verifizierung und Sichtbarkeitsberatung von LinkedIn.

Quiet Quitting vs. Quiet Firing in 2026: What’s Really Changing at Work

Quiet Quitting vs. Quiet Firing in 2026: What’s Really Changing at Work

Quiet quitting and quiet firing are catchy labels, not diagnoses. Learn what is verified, what depends on context, and what employees and managers can do next.

Der Aufstieg des Teilzeit-Managers: Wann Teilzeit-Führungskräfte auf der C-Suite sinnvoll sind

Der Aufstieg des Teilzeit-Managers: Wann Teilzeit-Führungskräfte auf der C-Suite sinnvoll sind

Teilzeit-Führungskräfte bieten Top-Management ohne Vollzeitbeschäftigung. Erfahren Sie, wann dieses Modell funktioniert, welche Fragen Sie stellen sollten und welche Risiken zu berücksichtigen sind.

Wie Sie im Rahmen der Leistungsbeurteilung im vierten Quartal eine Gehaltserhöhung aushandeln: Ein praktischer Entscheidungsleitfaden für 2026

Wie Sie im Rahmen der Leistungsbeurteilung im vierten Quartal eine Gehaltserhöhung aushandeln: Ein praktischer Entscheidungsleitfaden für 2026

Bereiten Sie einen überzeugenderen Antrag auf Gehaltserhöhung im vierten Quartal vor, der aktuelle Lohndaten, Optionen für den Zeitpunkt, mögliche Abwägungen bei der Vergütung sowie Formulierungsvorschläge für die Szenarien Ja, Teilweises oder Nein enthält.

6 gefragte Fähigkeiten, die Sie noch vor Ende 2026 erlernen können

6 gefragte Fähigkeiten, die Sie noch vor Ende 2026 erlernen können

Wählen Sie eine gut bezahlte Qualifikation, mit der Sie realistischerweise noch vor Ende 2026 beginnen können, unter Berücksichtigung aktueller Gehaltsdaten, Lernprioritäten und einer praktischen Selbsteinschätzung.

Mastering the Hybrid Work Schedule: A Practical Framework That Actually Holds Up

Mastering the Hybrid Work Schedule: A Practical Framework That Actually Holds Up

Build a hybrid work schedule around tasks, team overlap, and measurable outcomes. See sample patterns, warning signs, and when to adjust your plan.