接口

  1. struct Dog {}
  2. struct Cat {}
  3. fn (d Dog) speak() string {
  4. return 'woof'
  5. }
  6. fn (c Cat) speak() string {
  7. return 'meow'
  8. }
  9. interface Speaker {
  10. speak() string
  11. }
  12. fn perform(s Speaker) {
  13. println(s.speak())
  14. }
  15. dog := Dog{}
  16. cat := Cat{}
  17. perform(dog) // ==> "woof"
  18. perform(cat) // ==> "meow"

类型通过实现的方法满足接口。和Go语言一样,V语言也是隐式接口,类型不需要显式实现接口。