草庐IT

multiple-interface-implem

全部标签

go - 实现和扩展来自不同包的接口(interface)

我想知道,是否可以扩展现有接口(interface)?有一个简单的代码片段不起作用。主要包import("fmt""io")typeAaastruct{}//Implementingio.ReaderAtinterfacefunc(aAaa)ReadAt(p[]byte,offint64)(nint,errerror){return}//Extendingitfunc(a*Aaa)A(){fmt.Println("A")}funcmain(){list:=[1]io.ReaderAt{Aaa{}}//UseAaaobjectasio.ReaderAttypelist[0].A()//T

go - 实现和扩展来自不同包的接口(interface)

我想知道,是否可以扩展现有接口(interface)?有一个简单的代码片段不起作用。主要包import("fmt""io")typeAaastruct{}//Implementingio.ReaderAtinterfacefunc(aAaa)ReadAt(p[]byte,offint64)(nint,errerror){return}//Extendingitfunc(a*Aaa)A(){fmt.Println("A")}funcmain(){list:=[1]io.ReaderAt{Aaa{}}//UseAaaobjectasio.ReaderAttypelist[0].A()//T

dictionary - 无法访问 [] 接口(interface)内 map 中的键

示例代码:packagemainimport"fmt"funcmain(){example_container:=[]interface{}{map[string]string{"name":"bob","id":"1",},map[string]string{"name":"jim","id":"2",},}fmt.Printf("%v\n",example_container)fmt.Printf("%v\n",example_container[0])fmt.Printf("%v\n",example_container[0]["name"])}问题行:fmt.Printf("%

dictionary - 无法访问 [] 接口(interface)内 map 中的键

示例代码:packagemainimport"fmt"funcmain(){example_container:=[]interface{}{map[string]string{"name":"bob","id":"1",},map[string]string{"name":"jim","id":"2",},}fmt.Printf("%v\n",example_container)fmt.Printf("%v\n",example_container[0])fmt.Printf("%v\n",example_container[0]["name"])}问题行:fmt.Printf("%

go - go语言getters和setters接口(interface)

我是go语言的新手,在使用getter和setter为来自不同文件的结构指定接口(interface)时遇到问题。来源src/github.com/user/interfacespackageinterfacestypeIFoointerface{Name()stringSetName(namestring)}src/github.com/user/foopackagefooimport"github.com/user/interfaces"typeFoostruct{namestring}func(f*interfaces.IFoo)SetName(namestring){f.nam

go - go语言getters和setters接口(interface)

我是go语言的新手,在使用getter和setter为来自不同文件的结构指定接口(interface)时遇到问题。来源src/github.com/user/interfacespackageinterfacestypeIFoointerface{Name()stringSetName(namestring)}src/github.com/user/foopackagefooimport"github.com/user/interfaces"typeFoostruct{namestring}func(f*interfaces.IFoo)SetName(namestring){f.nam

json - 将 interface{} 编码为 json

我想生成一个像这样的json:{"A":1,"B":"bVal","C":"cVal"}但我想让我的代码足够通用,以便我可以用我想要的任何其他类型的json对象替换key对“C”。我尝试做类似下面的事情:typeJsonMessagestruct{Aint`json:"A"`Bstring`json:"B,omitempty"`genericObjinterface{}}typeJsonObjstruct{Cstring`json:"C"`}funcmain(){myJsonObj:=JsonObj{C:"cVal"}myJson:=JsonMessage{A:1,B:"bValue"

json - 将 interface{} 编码为 json

我想生成一个像这样的json:{"A":1,"B":"bVal","C":"cVal"}但我想让我的代码足够通用,以便我可以用我想要的任何其他类型的json对象替换key对“C”。我尝试做类似下面的事情:typeJsonMessagestruct{Aint`json:"A"`Bstring`json:"B,omitempty"`genericObjinterface{}}typeJsonObjstruct{Cstring`json:"C"`}funcmain(){myJsonObj:=JsonObj{C:"cVal"}myJson:=JsonMessage{A:1,B:"bValue"

go - 将具有嵌入式接口(interface)的结构转换为 JSON

我有一个要编码为JSON的结构。它有一个名为Foo的已定义字段(导出为foo)和一个data接口(interface)字段,我想向其传递一个带有附加JSON的动态结构字段。然而,当数据字段是一个接口(interface)而不是特定结构时,它永远不会导出为JSON。我怎样才能使它工作?packagemainimport("encoding/json""fmt")typedatainterface{}typefoostruct{Foostring`json:"foo,omitempty"`data}typebarstruct{Barstring`json:"bar,omitempty"`}

go - 将具有嵌入式接口(interface)的结构转换为 JSON

我有一个要编码为JSON的结构。它有一个名为Foo的已定义字段(导出为foo)和一个data接口(interface)字段,我想向其传递一个带有附加JSON的动态结构字段。然而,当数据字段是一个接口(interface)而不是特定结构时,它永远不会导出为JSON。我怎样才能使它工作?packagemainimport("encoding/json""fmt")typedatainterface{}typefoostruct{Foostring`json:"foo,omitempty"`data}typebarstruct{Barstring`json:"bar,omitempty"`}