1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
package main
import "fmt"
type Animal struct {
Name string
}
type Old struct {
Age int
}
func (a *Animal) Walk() {
fmt.Println("Animal Walk")
}
type People struct {
*Animal
Old
}
func (p *People) Walk() {
fmt.Println("Poeple Walk")
}
func NewPeople() *People {
return &People{
Animal: &Animal{Name: "bok"},
Old: Old{Age: 18},
}
}
func main() {
people := NewPeople()
people.Animal.Walk()
people.Walk()
fmt.Println(people.Age)
fmt.Println(people.Name)
fmt.Printf("New people %v \n", people)
}
|