Sobes.tech
Junior — Middle

Was ist der Unterschied zwischen einer Methode und einer Funktion, und was sind die Besonderheiten ihrer Verwendung?

sobes.tech KI

Antwort von AI

In Go ist eine Funktion ein unabhängiger Codeblock, der anhand seines Namens aufgerufen werden kann und Parameter akzeptieren sowie Werte zurückgeben kann.

Eine Methode ist eine Funktion, die mit einem bestimmten Typ (z.B. einer Struktur) verbunden ist. Die Methode wird mit einem Empfänger (Receiver) deklariert, der bestimmt, zu welchem Typ sie gehört.

Verwendungseigenschaften:

  • Die Methode ermöglicht die Arbeit mit Daten eines bestimmten Typs, indem sie den Empfänger im Methodenkörper verwendet.
  • Methoden helfen, den Code zu organisieren und Verhalten für Typen zu implementieren, was Go der objektorientierten Programmierung näherbringt.

Beispiel:

package main
import "fmt"

type Person struct {
    Name string
}

// Methode mit Empfänger vom Typ Person
func (p Person) Greet() {
    fmt.Println("Hallo, mein Name ist", p.Name)
}

// Normale Funktion
func Add(a, b int) int {
    return a + b
}

func main() {
    p := Person{Name: "Ivan"}
    p.Greet() // Methodenaufruf
    fmt.Println(Add(2, 3)) // Funktionsaufruf
}