golang入门之非侵入式接口

 1 package main
 2 
 3 import (
 4     "fmt"
 5 )
 6 
 7 //define a interface
 8 type ITest interface {
 9     myTest()
10 }
11 
12 //implement
13 type Man struct{}
14 
15 func (man *Man) myTest() {
16     fmt.Print("man\n")
17 }
18 
19 //implement
20 type Woman struct{}
21 
22 func (woman *Woman) myTest() {
23     fmt.Print("woman\n")
24 }
25 
26 func testFunction(test ITest) {
27     test.myTest()
28 }
29 
30 func main() {
31 
32     var man, woman ITest
33 
34     man = &Man{}
35     woman = &Woman{}
36 
37     testFunction(man)
38     testFunction(woman)
39 }

本文来自:博客园

感谢作者:ziyouchutuwenwu

查看原文:golang入门之非侵入式接口

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。