fork download
  1. package main
  2. import "fmt"
  3.  
  4. type ABC interface {
  5. Print()
  6. }
  7.  
  8. type X struct {
  9. i int
  10. }
  11.  
  12. func (x X) Print() {
  13. fmt.Println("X: ", x.i)
  14. }
  15.  
  16.  
  17. type Y struct {
  18. s string
  19. }
  20.  
  21. func (y Y) Print() {
  22. fmt.Println("Y: ", y.s)
  23. }
  24.  
  25. func Show(abc ABC) {
  26. abc.Print()
  27. }
  28.  
  29. func main(){
  30. var x X
  31. x.i = 10
  32.  
  33. var y Y
  34. y.s = "Sample"
  35.  
  36. Show(x)
  37. Show(y)
  38. }
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
X:  10
Y:  Sample