1. package main
  2. //定义一个接口,有两个成员方法, 一个show2因为开头字母小写,在包内(main)可以访问,Show因为开头字母大写,在包外可以访问
  3. type ST1 interface {
  4. show2()
  5. Show()
  6. }
  7. type ST struct{}
  8. var (
  9. _ ST1 = &ST{} //检测ST是否实现了ST1定义的方法
  10. _ ST1 = &ST2{} //检测ST2是否实现了ST1定义的方法
  11. )
  12. //实现ST1的中的函数
  13. func (s *ST) Show() {
  14. println("ST")
  15. }
  16. // 实现ST1中的函数
  17. func (s *ST) show2() {
  18. println("ST:show2()")
  19. }
  20. // 继承于ST,并加了新的成员I
  21. type ST2 struct {
  22. ST
  23. I int
  24. }
  25. func (s *ST2) show2() {
  26. println("ST2")
  27. }
  28. func main() {
  29. s := ST2{I: 5}
  30. s.Show()
  31. s.show2()
  32. println(s.I)
  33. }

分类: web

标签:   golang