草庐IT

struct_array

全部标签

go - 从结构 slice 动态创建 map[string]struct 的常用函数

我有两个不同的结构,如下所述AabdB和两个过程函数。有什么方法可以让我编写一个通用函数来为struct生成map[string]struct。此外,有什么方法可以使用给定结构名称的反射来创建相同的对象?typeAstruct{namestring//morefields}typeBstruct{namestring//morefields}funcProcessA(input[]A)map[string]A{output:=make(map[string]A)for_,v:=rangeinput{output[v.name]=v}returnoutput}funcProcessB(i

arrays - 为什么连接这两个字符串会在 Go 中移动组合字符串的前 3 个字符的末尾 3 个字符?

当尝试连接两个字符串时,它们会合并,但接下来的三个字符会覆盖之前连接的文本,然后再次按预期继续连接。我怀疑这与retrieve_mapped_value(cmd.Interaction.Replies[p_index].Variable[r_index],var_swap)函数有关,因为这种现象仅发生在在build_executable的cmd.Interaction部分的双for中调用。哪里出错了funcbuild_executable(cmdshell_command,var_swapstring_matrix,is_firstbool)string{sleep_duration:

go - 无法将复合文字与 map[string][]struct 一起使用

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭3年前。Improvethisquestion我正在尝试对map使用复合文字,但无法使用它,因为它显示了一些错误。请在下面找到代码。我是Golang的新手,对复合字面量的了解可能还比较少。typeAssessmentstruct{StructuringForcemap[string][]StructuringForce}typeStructur

arrays - 在 Go 中使用 slice 进行子集检查

我正在寻找一种有效的方法来检查slice是否是另一个slice的子集。我可以简单地遍历它们来检查,但我觉得必须有更好的方法。例如{1,2,3}isasubsetof{1,2,3,4}{1,2,2}isNOTasubsetof{1,2,3,4}有效执行此操作的最佳方法是什么?谢谢! 最佳答案 我认为解决子集问题最常见的方法是通过map。packagemainimport"fmt"//subsetreturnstrueifthefirstarrayiscompletely//containedinthesecondarray.There

struct - 使用结构传递多个值 GO

我只有一个问题我在这里写了一个例子packagemainimport("fmt")typePACKstruct{d,rint}funcmain(){st:=&PACK{}st.d,st.r=f(12,32)}funcf(a,bint)(dint,rint){d=a/br=a^breturn}所以,问题是——我怎样才能做出这样的东西st:=&PACK{f(1,2)}我希望我的函数返回参数是一个结构初始化器! 最佳答案 你不能这样做,这是不可能的。 关于struct-使用结构传递多个值GO,

struct - 在将它作为接口(interface)传递并运行它的方法后,让你将结构恢复为它的数据类型?

我有一个结构如下typeMyStruct{EmbeddedFooBar}func(m*MyStruct)Foo(b*http.Request){//Doingsomething}funcfn(args...interfaces){//It'shereIwanttogetmystructbackandrunthe"Get"method//PleasekeepinmindIamtoopassapointerparamintothestructmethodstrt:=args[0]....getstructbacktostaticdatatypeMyStructandrun"Get()",d

对 map[string][]struct{} 进行排序

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我想按成本对这张map进行排序typeGraphstruct{verticestringcostfloat64}vargraphmap[string][]Graph按照从低到高的顺序谢谢!

go struct JSON decode 始终为空 return &{}

我的处理程序可能做错了什么?typePatientstruct{FirstNamestringLastNamestring}funccreateHandler(whttp.ResponseWriter,r*http.Request){r.ParseForm()p:=new(Patient)err:=json.NewDecoder(r.Body).Decode(&p)iferr!=nil&&err!=io.EOF{log.Fatal(err)}log.Print(p)}我总是从curl-XPOST$PATH-d'{"firstName":"Julian"}'2016/01/2317:33

arrays - 提高在结构 slice 中搜索值的性能

我如何优化下面的代码以搜索map数组中的特定键值(然后返回其他键值)?typeuserMapstruct{JiraUsernamestringCHProjectIDintCHIDstring}funcmain(){varuserMaps[]userMapuserMaps=append(userMaps,userMap{JiraUsername:"ted",CHProjectID:81,CHID:"23jk3f32jl3323",})fmt.Println(GetUserInfo(userMaps,"ted"))}funcGetUserInfo(userMaps[]userMap,jir

arrays - GO阵列扩展

我正在测试一些go数组初始化和一般用法,但我不明白为什么不能扩展用定义长度初始化的数组?packagemainfuncmain(){arr0:=[]int{1,2,3}//add(arr0...)//OKarr1:=[3]int{1,2,3}//slice:=arr1[:]//add(slice...)//OKarr2:=[3]int{}//arr2[0]=1//arr2[1]=2//arr2[3]=3//add(arr2...)//cannotusearr2(type[3]int)astype//[]intinargumenttoadd}funcadd(terms...int)(su