草庐IT

Interface1

全部标签

go - 如何将值推送到嵌套的 map[string]interface{} slice 中?

这是一个例子:https://play.golang.org/p/aQXJzH6Yjoi:=make(map[string]interface{})i["some"]=[]interface{}{[]interface{}{1,2,"3--"},map[string]interface{}{"value":"some",},}如何将附加值推送到[]interface{}{1,2,"3--"}slice?我基本上需要创建将转换为json的任意数据结构。调查了https://github.com/Jeffail/gabs,但它似乎不允许创建嵌套数组 最佳答案

Golang 将 map[string]*[]interface{} 转换为其他类型的 slice 或数组

我有以下内容typeResultsmap[string]*[]interface{}varusers*[]models.Userusers=getUsers(...)results:=Results{}results["users"]=users稍后,id希望能够从此map中获取users并将其转换为*[]models.User我很难找到执行此操作的正确方法。我想做以下,但显然行不通。varuserResults*[]models.UseruserResults=(*results["users").(*[]models.User)知道如何做到这一点吗? 最

go - 如何在函数中使用接口(interface),其中参数是另一个具有相同函数列表的接口(interface)?

我在函数参数中遇到接口(interface)问题。packagemainimport("fmt")typeAinterface{New()AB()C()}typeBinterface{New()BB()}typeASstruct{}func(AS)New()A{returnAS{}}func(AS)B(){}func(AS)C(){}funcHello(bB){b.New()}funcmain(){fmt.Println("Hello,playground")as:=AS{}a:=A(as)Hello(a)}我遇到了这个错误:tmp/sandbox293137995/main.go:3

go - 为什么 Go 认为这个结构不遵守这个接口(interface)?

假设我设置了两个Go接口(interface)并按如下方式实现它们:typefooInterfaceinterface{buildBar()barInterface}typebarInterfaceinterface{stuff()}typefooStructstruct{}typebarStructstruct{}func(*fooStruct)buildBar()*barStruct{return&barStruct{}}func(*barStruct)stuff(){}当我尝试将fooStruct分配给fooInterface变量时,我收到以下错误:cannotusefooStr

Golang 将映射分配给接口(interface)

我想将一个映射分配给一个接口(interface),其中基础值是map[string]interface类型。typeDatastruct{datainterface{}}result:=make(map[string]interface{})data:=Data{data:result}details:=make(map[string]interface{})details["CreatedFor"]="dfasfasdf"details["OwnedBy"]="fasfsad"如何将详细信息值插入Data结构中的data接口(interface)? 最佳

json - Go 能够解码为 map[string][]interface{} 吗?

目前,我尝试将JSON解析为map[string][]interface{},但解码返回错误。根据(https://golang.org/pkg/encoding/json/),为了将JSON解码为接口(interface)值,Unmarshal将其中之一存储在接口(interface)值中:bool,用于JSONbool值float64,用于JSON数字string,用于JSON字符串-[]接口(interface){},用于JSON数组map[string]interface{},用于JSON对象nil表示JSONnull我想知道golang是否能够解码map[string][]i

go - 使用接口(interface)获取结构的值

我正在尝试解析此请愿书(https://www.binance.com/api/v1/depth?symbol=MDABTC&limit=500)我在为它创建一个结构时遇到了很多问题,所以我使用了一个自动化工具,这就是我的结构的样子:typeorderBookstruct{Bids[][]interface{}`json:"Bids"`Asks[][]interface{}`json:"Asks"`}我通过执行以下操作来恢复和解析请愿书:url:="https://www.binance.com/api/v1/depth?symbol=MDABTC&limit=500"resp,err

go - 在 Golang 中传递 interface{} 或 []interface{}

对于这个片段,为什么它允许interface{}传递给函数而不是[]interface。有什么区别?我知道错误的意思(已将其注释到函数中),但我不确定错误的含义。https://play.golang.org/p/689R_5dswFXpackagemaintypesmsSendRequeststruct{Recipientsstring`json:"recipients"`}//funcaction(passinterface{}){////works//}funcaction(pass[]interface{}){//cannotusedata(type*smsSendReques

go - map 范围循环中的空接口(interface)

下面的代码没有按预期工作。packagemainimport"fmt"funcmain(){questions:=make(map[int]interface{})questions[1]=map[interface{}]string{"q1":"ThisisQuestion-1?","op1":"ThisisOption-1","op2":"ThisisOption-2",true:"ThisisOption-1",}//Thisgivemap[interface{}]stringfmt.Printf("%T\n",questions[1])//Thisnotworkingforke

go - 如何将多维 slice []接口(interface){}转换为 slice []字符串?

示例来源://sourcemultidimensionalslicevarsource=[]interface{}{"value1","value2",1234,1234.1234,[]int{222,333},[]float32{444.444,555.555},[]interface{}{555,"value4",[]int{777,888}}}目标://target[]stringvartarget=[]string{"value1","value2","1234","1234.1234","222","333","444.444","555.555","555","value4