forked from WEB-IMB-WS2526/lab-development-imb
27 lines
440 B
Go
27 lines
440 B
Go
package main
|
|
|
|
import "fmt"
|
|
|
|
type Person struct {
|
|
Name string
|
|
Age int
|
|
}
|
|
|
|
// Wert-Receiver: arbeitet auf einer Kopie
|
|
func (p Person) Greet() {
|
|
fmt.Println("Hallo,", p.Name)
|
|
}
|
|
|
|
// Zeiger-Receiver: kann das Original ändern
|
|
func (p *Person) Birthday() {
|
|
p.Age++
|
|
}
|
|
|
|
func main() {
|
|
a := Person{Name: "Karl", Age: 30}
|
|
|
|
a.Greet() // Ausgabe: Hallo, Karl
|
|
a.Birthday() // Alter wird erhöht
|
|
fmt.Println(a.Age) // Ausgabe: 31
|
|
}
|