接口
1. struct Dog {}
2. struct Cat {}
4. fn (d Dog) speak() string {
5. return 'woof'
6. }
8. fn (c Cat) speak() string {
9. return 'meow'
10. }
12. interface Speaker {
13. speak() string
14. }
16. fn perform(s Speaker) {
17. println(s.speak())
18. }
20. dog := Dog{}
21. cat := Cat{}
22. perform(dog) // ==> "woof"
23. perform(cat) // ==> "meow"
类型通过实现的方法满足接口。和Go语言一样,V语言也是隐式接口,类型不需要显式实现接口。
