草庐IT

application-structure

全部标签

json - 通过 application/json curl 请求发送 bool 值

我正在尝试发送curl请求。这是我的要求:curl-H"Content-Type:application/json"-XPOST-d'{"username":"tahereh","password":"1234","admin":true}'http://localhost:8000/users我在我的代码中解码此请求并将其存储在代码的用户结构的“用户变量”中,如下所示:varnewUsermodels.User//Userisanstructinmodelpackageerr1:=json.NewDecoder(r.Body).Decode(&newUser)然后我使用dlvdebu

data-structures - 在 golang 中实现嵌套矩阵的惯用方式

我正在尝试在内存中表示超图。除了嵌套矩阵之外,对于这项任务还有更好的数据结构吗?嵌套矩阵是一个可以包含“native”类型(为简单起见,我们说int)和矩阵元素的矩阵。这是这样一个矩阵的开始。代码中是否有任何粗糙的边缘,以使其看起来更惯用?如何让它看起来更地道?代码:packagemainimport"fmt"typeMatricialinterface{Put(interface{},...int)Get(...int)interface{}}typeMatrixstruct{Matricialvaluesmap[int]interface{}}funcNewMatrix()*Mat

go - panic : runtime error: invalid memory address or nil pointer dereference on breaking up application

我正在尝试编译我的go应用程序,但出现以下错误:panic:runtimeerror:invalidmemoryaddressornilpointerdereference[signalSIGSEGV:segmentationviolationcode=0x1addr=0x0pc=0x14d6572]goroutine1[running]:github.com/gin-gonic/gin.(*Engine).Use(0x0,0xc420201f30,0x1,0x1,0x2,0x2)/Users/jordan.kasper/go/src/github.com/gin-gonic/gin/

戈朗 : Recursive data structures

我有一个简单的问题...我正在尝试使用slice在Golang中重现这个递归数据结构。typeTriemap[byte]Trie现在我有一些“粗略”的源代码,使用下面的递归数据结构和slice,一切正常,除了我的类型化结构是一个结构而不是结构的一部分。理想情况下,我希望我的类型化递归数据结构是Trie的一部分,其中包含元素Trie{byte,[]Trie}。希望这是有道理的?现在我有一个类型,它是一个Triestruct{byte,[]Trie}。typeTriestruct{elembyteothers[]Trie}也许这会有所帮助。当我现在创建我的sliceTrie时,我使用这个函

go - 将一个结构分配给 "structural identical"类型的其他结构

我的问题是这样的:我有一个MyMail包,它向其他包提供函数SendMail(MyMail.Mail)。MyMail使用包LowLevelMail及其函数Send(LowLevelMail.Mail)实际发送邮件。MyMail.Mail和LowLevelMail.Mail在定义“相同结构”(即名称和类型相同的字段)的意义上是相同的。SendMail(mMyMail.Mail)在使用Send(LowLevelMail.Mail。newmail:=LowLevelMail.Mail(m)将不起作用。但这是可能的,因为编译器应该能够看到两个结构的字段是相同的。也许是因为没有导出字段,所以支持

data-structures - 了解嵌套结构

我试图理解go中的嵌套结构,所以我做了一个小测试:(playground)typeAstruct{astring}typeBstruct{Abstring}funcmain(){b:=B{A{"aval"},"bval"}fmt.Printf("%T->%v\n",b,b)//BhasanestedAandsomevalues//main.B->{{aval}bval}fmt.Println("b.b->",b.b)//B'sownvalue//b.b->bvalfmt.Println("b.A.a->",b.A.a)//B'snestedvalue//b.a->avalfmt.Pri

xml - 戈朗 : structure to generate/parse both XML and JSON

用例是生成(和解析)以下XML和JSON,而不是为它们中的每一个创建单独的结构。XMLHelloSomething1Something2...JSON{"data":"Hello","data_type":"plaintext","field1":"Something1","field2":"Something2"...}可能的解决方案将是:typeXxxstruct{XMLNamexml.Name`xml:"http://example.org/nsxxx"json:"-"`//**Ifonly"inline"attributehadexisted**DataData`xml:"da

戈朗 : Access a Windows share (from Linux application)

是否有正确的方法从在Linux设备上编译和运行的Go应用程序连接到Windows共享,例如\windowspc\c$\myshare?共享将需要凭据才能将文件保存到目标UNC路径。是否有实现此目的的最佳实践? 最佳答案 理论上是,实际上不是。Windows共享使用SMB/CIFS系列协议(protocol)。这些可以在Go中实现并用于访问共享。不过,这是一项艰巨的任务。与其在您的应用程序中使用它,最好的方法是要求从您的系统安装共享,然后像从应用程序访问本地文件系统一样访问它。如果您真的想使用SMB/CIFS,您可以从Go中检查Gno

api - 客户端去: parse kubernetes json files to k8s structures

我想解析kuberneteslist文件(json/yaml)并能够将它们转换为k8s结构(以便稍后操作它们)我知道有NewYAMLOrJSONDecoder().Decode()函数(https://github.com/kubernetes/apimachinery/blob/master/pkg/util/yaml/decoder.go)可以读取json/yaml文件,但下一步是:如何将它们转换为k8s结构/类型?即例如,如果我读取带有命名空间对象的yaml文件,如何将其转换为核心/v1/命名空间接口(interface)问候, 最佳答案

data-structures - 有没有类似 BidiMap 的东西?

你好,我需要做一些双向锁定,需要一些像map[key][key]这样的map结构,在Go中有这样的想法吗?或者最好的方法是什么? 最佳答案 语言或库(AFAIK)中没有这样的东西,但它们很容易实现:只需将两个映射组合到一个struct中并确保它们保持同步。唯一的问题是很难以通用方式编写这些内容,但是可以使用interface{}来完成:typeBidirMapstruct{left,rightmap[interface{}]interface{}}func(m*BidirMap)Insert(key,valinterface{}){