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

ChatGPT stürzt weltweit ab

ChatGPT stürzt weltweit ab

Am Morgen des 22. November kam es beim Chatbot ChatGPT von OpenAI zu weitreichenden Problemen und viele Benutzer auf der ganzen Welt konnten diese KI-Anwendung nicht verwenden.

So verwenden Sie den WiFi Analyzer, um Ihre WLAN-Verbindung zu verbessern

So verwenden Sie den WiFi Analyzer, um Ihre WLAN-Verbindung zu verbessern

Der Kauf eines neuen WLAN-Routers allein reicht nicht aus, um Ihr Netzwerk zu verbessern. Um das Beste aus Ihrem WLAN herauszuholen, müssen Sie sicherstellen, dass Sie die beste Reichweite, das beste Signal und die beste Frequenz erhalten.

Wege, wie der Körper mit uns kommuniziert, die oft übersehen werden

Wege, wie der Körper mit uns kommuniziert, die oft übersehen werden

Unser Körper ist eine Maschine, die ständig Signale und Botschaften sendet, aber wir achten selten darauf. Sehen wir uns an, was unser Körper uns mit den folgenden Signalen mitteilen möchte.

Die größten Landtiere der Welt

Die größten Landtiere der Welt

Welches ist das größte Tier der Welt? Dieser Artikel fasst die größten Landtiere für Sie zusammen.

Grundlegende Maßeinheiten in Computern

Grundlegende Maßeinheiten in Computern

Bit steht für Binary Digit (Binärziffer). Dies ist die Bezeichnung für den kleinsten Teil des Computerspeichers, der einen von zwei Informationszuständen speichern kann: 0 oder 1 (was als Ein- oder Aus-Zustand eines Transistors in einem Computer verstanden werden kann).

So verbessern Sie Ihre Notizgewohnheiten mit Erinnerungen

So verbessern Sie Ihre Notizgewohnheiten mit Erinnerungen

Eine gute Gedächtnisgewohnheit beginnt mit Erinnerungen – sie kommen zum richtigen Zeitpunkt, um diese flüchtigen Gedanken festzuhalten.

7 kostenlose Apps, die Ihre Smartphone-Fotos sofort verbessern

7 kostenlose Apps, die Ihre Smartphone-Fotos sofort verbessern

Es gibt immer noch viele kostenlose und leistungsstarke Fototools, mit denen Sie Ihre Fotos verbessern können.

Tricks, um das Google-Such-Widget nützlicher zu machen

Tricks, um das Google-Such-Widget nützlicher zu machen

Das Google-Such-Widget bietet Ihnen schnellen Zugriff auf die Google-Suche und den Discover-Feed sowie auf die Sprachsuche und Google Lens.

So melden Sie sich an und deaktivieren die Erinnerung an den Ablauf des Passworts

So melden Sie sich an und deaktivieren die Erinnerung an den Ablauf des Passworts

Wenn auf dem Windows-Anmeldebildschirm die Meldung „Ihr Kennwort ist abgelaufen und muss geändert werden“ angezeigt wird, liegt das daran, dass Kennwörter für lokale Windows-Konten standardmäßig alle 42 Tage ablaufen.

So konvertieren Sie WebP-Bilder in PNG, JPG auf Chrome, Coc Coc

So konvertieren Sie WebP-Bilder in PNG, JPG auf Chrome, Coc Coc

Um WebP-Bilder in die Formate PNG und JPG zu konvertieren, können wir dies auf viele verschiedene Arten tun, z. B. direkt über die Bild-URL oder mithilfe von Bildkonvertierungstools.

4 Möglichkeiten zur Verwendung des Canvas-Modus von ChatGPT

4 Möglichkeiten zur Verwendung des Canvas-Modus von ChatGPT

Der neue Canvas-Modus von ChatGPT fügt dem Schreiben und Bearbeiten in der weltweit führenden generativen KI-Engine eine neue Dimension hinzu.

Was die Leute an KI-Bildbearbeitungsprogrammen am meisten nicht mögen

Was die Leute an KI-Bildbearbeitungsprogrammen am meisten nicht mögen

KI-Bildbearbeitungsprogramme können Ihren Bearbeitungsablauf zwar deutlich vereinfachen, sind aber nicht perfekt. Es gibt einige Dinge, die Nutzer an ihnen nicht mögen. Im heutigen Artikel erfahren Sie, welche das sind.

Behebung, dass Apps im Google Play Store nicht automatisch aktualisiert werden

Behebung, dass Apps im Google Play Store nicht automatisch aktualisiert werden

Wenn der Play Store Apps nicht automatisch aktualisiert, riskieren Nutzer, neue Funktionen, Sicherheitspatches und Fehlerbehebungen zu verpassen. Glücklicherweise können Sie den Google Play Store mit diesen Schritten so konfigurieren, dass Ihre Apps automatisch aktualisiert werden.

Anweisungen zum Senden von Dateien über Messenger auf Telefon und Computer

Anweisungen zum Senden von Dateien über Messenger auf Telefon und Computer

Neben dem Senden von Fotos über Messenger können Benutzer jetzt auch Dateien über die Anwendung an andere senden, und zwar in allen Dokumentdateiformaten wie PDF, DOC, XLX usw.

So fügen Sie in CapCut automatisch Untertitel und Liedtexte hinzu

So fügen Sie in CapCut automatisch Untertitel und Liedtexte hinzu

CapCut bietet auch die Möglichkeit, Videountertitel einzufügen, wie einige bekannte Anwendungen für Videountertitel. Die Anwendung erkennt dann automatisch Ton und Stimme im Video und zeigt sie im Video an.