脚本宝典收集整理的这篇文章主要介绍了go 模仿JAVA,面向接口/链式编程,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
test.go
package test func @H_126_18@NewTest() ITestIntf { return &test{""} } tyPE ITestIntf interface { GetName() string SetName(string) ITestIntf } type test struct { name string } func (t *test) GetName() string { return (*t).name } func (t *test) SetName(n string) ITestIntf { (*t).name =n return t }
SuBTest.go
package test func NewSubTest() ISubTestIntf { return &subTest{NewTest(), "", 0} } type ISubTestIntf interface { ITestIntf GetSex() string SetSex(string) ISubTestIntf GetAge() int SetAge(int) ISubTestIntf } func (t *subTest) GetSex() string { return (*t).sex } func (t *subTest) SetSex(s string) ISubTestIntf { (*t).sex =s return t } func (t *subTest) GetAge() int { return (*t).age } func (t *subTest) SetAge(a int) ISubTestIntf { (*t).age =a return t }
chan.go
import ( "fmt" "test" ) func main() { VAR t ITestIntf t = NewTest().SetName("张三") var s ISubTestIntf s = NewSubTest() fmt.PRintln(t.GetName()) s.SetAge(12).SetSex("女").SetName("李四")//这里不是很完美,父接口的方法必须放到后面。 fmt.Println("name:",s.GetName(),"sex:", s.GetSex(), "age:", s.GetAge()) }
以上是脚本宝典为你收集整理的go 模仿JAVA,面向接口/链式编程全部内容,希望文章能够帮你解决go 模仿JAVA,面向接口/链式编程所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。