Sobes.tech
Junior — Middle

Jaką rolę odgrywa struktura w koncepcji programowania obiektowego?

sobes.tech AI

Odpowiedź od AI

W Go struktura (struct) to niestandardowy typ danych, który łączy kilka pól o różnych typach w jedną całość. W kontekście programowania obiektowego struktura pełni rolę obiektu, umożliwiając modelowanie rzeczywistych bytów z ich właściwościami.

Chociaż Go nie obsługuje klas ani dziedziczenia w tradycyjnym sensie, struktury pozwalają na:

  • Inkapsulację danych (pól).
  • Definiowanie metod dla struktur, co zapewnia zachowanie.
  • Używanie kompozycji do ponownego użycia kodu zamiast dziedziczenia.

Przykład struktury z metodą:

package main
import "fmt"

type Person struct {
    Name string
    Age  int
}

func (p Person) Greet() {
    fmt.Printf("Cześć, mam na imię %s i mam %d lat.\n", p.Name, p.Age)
}

func main() {
    person := Person{Name: "Ivan", Age: 30}
    person.Greet()
}

W ten sposób struktura w Go jest podstawowym elementem do tworzenia obiektów z stanem i zachowaniem.