草庐IT

interface-design

全部标签

interface - 接口(interface)的方法

下一个实现附加到接口(interface)的方法的方法是否正确?(getKey,getData)typereaderinterface{getKey(veruint)stringgetData()string}typelocationstruct{readerfileLocationstringerros.Error}func(self*location)getKey(veruint)string{...}func(self*location)getData()string{...}funcNewReader(fileLocationstring)*location{_location

inheritance - 通过 Go 中的接口(interface)修改结构成员

在我的一个Go项目中,我想创建一个基类的多个子类,并能够通过基类/接口(interface)变量对子类的实例进行操作(我'我使用了“类”这个词,尽管这个概念在Go中并不真正存在)。下面是它在C++中的样子,只是为了说明我的意思:#includeusingnamespacestd;classBase{public:intx,y;virtualvoidDoStuff(){};};classThing:publicBase{public:voidDoStuff(){x=55;y=99;}};Base*gSomething;intmain(intargc,char**argv){gSometh

inheritance - 通过 Go 中的接口(interface)修改结构成员

在我的一个Go项目中,我想创建一个基类的多个子类,并能够通过基类/接口(interface)变量对子类的实例进行操作(我'我使用了“类”这个词,尽管这个概念在Go中并不真正存在)。下面是它在C++中的样子,只是为了说明我的意思:#includeusingnamespacestd;classBase{public:intx,y;virtualvoidDoStuff(){};};classThing:publicBase{public:voidDoStuff(){x=55;y=99;}};Base*gSomething;intmain(intargc,char**argv){gSometh

go - 我可以在 map[string]interface{} 上定义一个函数吗

我试过了func(mmap[string]interface{})Foo(){...}和func(m*map[string]interface{})Foo(){...}但是去测试错误invalidreceivertypemap[string]interface{}(map[string]interface{}isanunnamedtype)所以我必须添加更多的文字来保持这里的快乐 最佳答案 您需要定义一个新类型才能为其附加方法。packagemainimport"fmt"typeMyMapmap[string]interface{}

go - 我可以在 map[string]interface{} 上定义一个函数吗

我试过了func(mmap[string]interface{})Foo(){...}和func(m*map[string]interface{})Foo(){...}但是去测试错误invalidreceivertypemap[string]interface{}(map[string]interface{}isanunnamedtype)所以我必须添加更多的文字来保持这里的快乐 最佳答案 您需要定义一个新类型才能为其附加方法。packagemainimport"fmt"typeMyMapmap[string]interface{}

struct - 在 Golang 中返回接口(interface)

我正在尝试在接受接口(interface)类型并返回该接口(interface)类型但转换为适当类型的结构上编写一个方法。typeModelinterface{GetEntity()}typeTrueFalseQuestionsstruct{//somestuff}func(q*TrueFalseQuestions)GetEntity(){//somestuff}typeMultiQuestionsstruct{//somestuff}func(q*MultiQuestions)GetEntity(){//somestuff}typeManagerstruct{}func(man*Ma

struct - 在 Golang 中返回接口(interface)

我正在尝试在接受接口(interface)类型并返回该接口(interface)类型但转换为适当类型的结构上编写一个方法。typeModelinterface{GetEntity()}typeTrueFalseQuestionsstruct{//somestuff}func(q*TrueFalseQuestions)GetEntity(){//somestuff}typeMultiQuestionsstruct{//somestuff}func(q*MultiQuestions)GetEntity(){//somestuff}typeManagerstruct{}func(man*Ma

Go:本地结构的包函数接口(interface)

我有一个棘手的问题,我不确定Go是否可行,基本上我正在编写一个实现简单二进制搜索的包,我想返回一个由用户定义的结构的值,即不在包装中。实际上我想要包中的一个函数可以分配给本地定义的结构,也就是说在packagemain中。所以包中有二分查找的函数:packagebinsearchfunc(f*SomeStruct)Get(lookupuint)(int,uint,bool){min:=0max:=len(f.Key)-1at:=max/2for{current:=f.Key[at]iflookupcurrent{min=at+1}else{returnat,f.Value[at],tr

Go:本地结构的包函数接口(interface)

我有一个棘手的问题,我不确定Go是否可行,基本上我正在编写一个实现简单二进制搜索的包,我想返回一个由用户定义的结构的值,即不在包装中。实际上我想要包中的一个函数可以分配给本地定义的结构,也就是说在packagemain中。所以包中有二分查找的函数:packagebinsearchfunc(f*SomeStruct)Get(lookupuint)(int,uint,bool){min:=0max:=len(f.Key)-1at:=max/2for{current:=f.Key[at]iflookupcurrent{min=at+1}else{returnat,f.Value[at],tr

接口(interface)和将匿名字段嵌入到结构中

当附近发生爆炸时,我试图代表一个戴着眼镜的人靠近window。main是爆炸期间应​​该做什么的草图。有些东西应该收集爆炸附近的物体列表,并为每个物体做特定的事情(例如粉碎或熔化)。玻璃和window如预期般碎裂,但出于某种原因,人也碎裂了。为什么?packagemainimport"fmt"typeHumanstruct{Glasses}typeGlassesstruct{}typeShatterableinterface{shatter()}func(gGlasses)shatter(){}typeWindowstruct{}func(wWindow)shatter(){}func