magic.go 367 B

123456789101112131415161718192021222324252627282930
  1. // magic.go
  2. package main
  3. import "fmt"
  4. type Base struct{}
  5. func (Base) Magic() { fmt.Print("base magic ") }
  6. func (self Base) MoreMagic() {
  7. self.Magic()
  8. self.Magic()
  9. }
  10. type Voodoo struct {
  11. Base
  12. }
  13. func (Voodoo) Magic() { fmt.Println("voodoo magic") }
  14. func main() {
  15. v := new(Voodoo)
  16. v.Magic()
  17. v.MoreMagic()
  18. }
  19. /* Output:
  20. voodoo magic
  21. base magic base magic
  22. */