Menu
Coddy logo textTech

Wprowadzenie do OOP w Go

Część sekcji Programowanie obiektowe ścieżki GO w Coddy. Lekcja 5 z 107.

Go nie ma klas, ale umożliwia programowanie obiektowe za pomocą struktur i metod. Struktura grupuje powiązane dane, a metody definiują zachowanie przypisane do tej struktury.

Zdefiniuj strukturę do przechowywania danych

type Dog struct {
    Name string
    Age  int
}

Przypisz metodę do struktury

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

Utwórz instancję i użyj jej

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()) // Wynik: Buddy says Woof!
    fmt.Println(myDog.Age)    // Wynik: 3
}

W Go część (d Dog) przed nazwą metody nazywa się odbiorcą. Łączy metodę ze strukturą Dog, podobnie jak metody należą do klas w innych językach.

challenge icon

Wyzwanie

Łatwy

Utwórz strukturę Cat z metodą, aby przećwiczyć podejście Go do OOP:

  • Zdefiniuj strukturę Cat z polami Name (string) i Age (int)
  • Dodaj metodę Speak, która zwraca imię kota, po którym następuje " says Meow!"

Spróbuj swoich sił

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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Go online