Menu
Coddy logo textTech

Einführung in OOP mit Go

Teil des Abschnitts Objektorientierte Programmierung der GO-Journey von Coddy. Lektion 5 von 107.

Go hat keine Klassen, erreicht aber objektorientierte Programmierung durch Strukturen und Methoden. Eine Struktur fasst zusammengehörige Daten zusammen, und Methoden definieren das Verhalten, das an diese Struktur gebunden ist.

Definiere eine Struktur zum Speichern von Daten

type Dog struct {
    Name string
    Age  int
}

Eine Methode an die Struktur anhängen

func (d Dog) Bark() string {
    return d.Name + " says Woof!"
}

Erstellen Sie eine Instanz und verwenden Sie diese

package main

import "fmt"

type Dog struct {
    Name string
    Age  int
}

func (d Dog) Bark() string {
    return d.Name + " says Woof!"
}

func main() {
    myDog := Dog{Name: "Buddy", Age: 3}
    fmt.Println(myDog.Bark()) // Ausgabe: Buddy says Woof!
    fmt.Println(myDog.Age)    // Ausgabe: 3
}

In Go wird der Teil (d Dog) vor dem Methodennamen als Receiver bezeichnet. Er verbindet die Methode mit der Struktur Dog, ähnlich wie Methoden in anderen Sprachen zu Klassen gehören.

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Cat-Struktur mit einer Methode, um den OOP-Ansatz von Go zu üben:

  • Definieren Sie eine Cat-Struktur mit den Feldern Name (string) und Age (int)
  • Fügen Sie eine Speak-Methode hinzu, die den Namen der Katze gefolgt von " says Meow!" zurückgibt

Probier es selbst

package main

import "fmt"

func main() {
    var name string
    var age int
    fmt.Scan(&name, &age)

    cat := Cat{Name: name, Age: age}

    fmt.Printf("Name: %s\n", cat.Name)
    fmt.Printf("Age: %d\n", cat.Age)
    fmt.Println(cat.Speak())
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Go-Compiler