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

So ändern Sie Ihr Microsoft Teams-Profilbild auf dem iPhone und Android

So ändern Sie Ihr Microsoft Teams-Profilbild auf dem iPhone und Android

Entdecken Sie die einfachste Methode, Ihr Microsoft Teams-Profilbild auf iPhone und Android zu ändern. Schritt-für-Schritt-Anleitung mit Screenshots für reibungslose Updates in der neuesten App-Version. Verbessern Sie noch heute Ihr professionelles Image!

So beheben Sie Microsoft Teams-Fehler: Wie Sie die Hilfe verwenden

So beheben Sie Microsoft Teams-Fehler: Wie Sie die Hilfe verwenden

Sind Sie es leid, dass die Microsoft Teams-Hilfe Ihren Arbeitsablauf blockiert? Hier finden Sie Schritt-für-Schritt-Lösungen, die auch mit den neuesten Versionen funktionieren. Cache leeren, aktualisieren und vieles mehr – ganz ohne technische Vorkenntnisse!

Behebung des Fehlers „Microsoft Teams-Webclient deaktiviert“

Behebung des Fehlers „Microsoft Teams-Webclient deaktiviert“

Sind Sie es leid, dass der Fehler „Microsoft Teams Web Client deaktiviert“ Ihre Meetings blockiert? Befolgen Sie unsere bewährten Schritt-für-Schritt-Anleitungen, um den Fehler schnell zu beheben – ganz ohne IT-Hilfe!

So laden Sie Microsoft Teams-Aufzeichnungen auf Ihren Laptop oder PC herunter

So laden Sie Microsoft Teams-Aufzeichnungen auf Ihren Laptop oder PC herunter

Entdecken Sie einfache Möglichkeiten, Microsoft Teams-Aufzeichnungen auf Ihren Laptop oder PC herunterzuladen. Erhalten Sie Schritt-für-Schritt-Anleitungen für die Desktop-App, das Web und OneDrive sowie Tipps zur Fehlerbehebung, damit Ihre Meetings reibungslos ablaufen. Ideal für Windows- und Mac-Nutzer!

Behebung des Microsoft Teams-Fehlercodes 404 im Web

Behebung des Microsoft Teams-Fehlercodes 404 im Web

Sind Sie es leid, dass der Microsoft Teams-Fehlercode 404 Ihre Meetings blockiert? Folgen Sie unserer bewährten Schritt-für-Schritt-Anleitung, um den Cache zu leeren, Browserprobleme zu beheben und den Fehler „Nicht gefunden“ schnell zu lösen – für eine reibungslose Zusammenarbeit. Aktualisiert mit den neuesten Fehlerbehebungen!

Behebung des Microsoft Teams-Beitrittsproblems über den Direktlink

Behebung des Microsoft Teams-Beitrittsproblems über den Direktlink

Probleme beim Beitritt zu Microsoft Teams-Besprechungen? Hier finden Sie bewährte Lösungen über direkte Links. Schnelle Hilfe für reibungsloses Beitreten – ganz ohne technische Vorkenntnisse!

Wo Sie Ihre Microsoft Teams-ID und Ihre Kontoinformationen finden

Wo Sie Ihre Microsoft Teams-ID und Ihre Kontoinformationen finden

Sie finden Ihre Microsoft Teams-ID oder Ihre Kontodaten nicht? Diese Schritt-für-Schritt-Anleitung zeigt Ihnen genau, wo Sie Ihre Microsoft Teams-ID und Ihre Kontoinformationen auf Desktop-Computern, im Web, auf Mobilgeräten und mehr finden, um eine reibungslose Zusammenarbeit zu gewährleisten.

So beheben Sie den Microsoft Teams-Anmeldefehler auf Chromebooks

So beheben Sie den Microsoft Teams-Anmeldefehler auf Chromebooks

Haben Sie Probleme mit der Microsoft Teams-Anmeldung auf Chromebooks? Hier finden Sie Schritt-für-Schritt-Lösungen, um Anmeldeprobleme schnell zu beheben. Leeren Sie den Cache, aktualisieren Sie Apps und vieles mehr für reibungsloses Teamwork. Funktioniert mit dem neuesten Chrome OS!

Fehlerbehebung bei Microsoft Teams-Proxy-Fehlereinstellungen

Fehlerbehebung bei Microsoft Teams-Proxy-Fehlereinstellungen

Haben Sie Probleme mit dem Microsoft Teams-Proxy-Fehler? Entdecken Sie bewährte Schritte zur Fehlerbehebung bei den Microsoft Teams-Proxy-Einstellungen. Leeren Sie den Cache, passen Sie die Proxy-Einstellungen an und führen Sie mit unserer Expertenanleitung innerhalb weniger Minuten wieder reibungslose Anrufe durch.

Wo wird meine Microsoft Teams-Aufzeichnung gespeichert? Finden Sie Ihre Dateien schnell

Wo wird meine Microsoft Teams-Aufzeichnung gespeichert? Finden Sie Ihre Dateien schnell

Sie finden Ihre Microsoft Teams-Aufzeichnung nicht? Erfahren Sie, wo Teams Besprechungsdateien in OneDrive oder SharePoint speichert und wie Sie diese schnell finden und sofort darauf zugreifen können. Nie wieder verlorene Aufzeichnungen!