为了账号安全,请及时绑定邮箱和手机立即绑定

访问 GoLang 中的嵌入方法

访问 GoLang 中的嵌入方法

Go
慕村225694 2021-08-16 15:33:29
我正在尝试在 go 中创建一些通用函数来处理许多不同的对象类型,其中一些类型嵌入了我创建的调用 BaseObject 的方便子类型。我似乎无法弄清楚如何测试“值接口{}”是否包含一个 BaseObject,或者如何调用它的方法之一,例如 ToString()...它应该返回 [TestObject] 而不是 [BaseObject]package Testimport(    "fmt"    "reflect")func main() {    Value:=TestObject{}    TestFunction(Value)}//Generic functionfunc TestFunction(Value interface{}){    // Does value contain BaseObject? reflect.TypeOf(Value).Containes...Implements??    //Convert to BaseObject? BO:=Value.(BaseObject)    // If it does, call BO.ToString()    //fmt.println(BO.ToString())}//Base Objecttype BaseObject struct {}func (this *HCObject) ToString() string {    return "[BaseObject]"}//Test Objecttype TestObject struct{    BaseObject}func (this *TestObject) ToString() string {    return "[TestObject]"}
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信