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