草庐IT

XML数据结构

全部标签

oop - 反射(reflect)嵌入结构的类型

我目前正在按照我在网上找到的教程尝试一些OOP风格的Go。到目前为止,它非常吸引人(让我想起试图将OOP强制转换为ANSI-C)。然而,只有一件事困扰着我,我似乎无法解决。我如何才能反射(reflect)嵌入结构的类型名称?我在网上找到的所有信息都说不能反射(reflect)嵌入结构,因为嵌入结构无法直接访问它。这完全准确吗?如果是这样,解决以下问题(下面的代码)的正确方法是什么?基本上,该程序会打印出三种动物的名称,然后是括号中嵌入结构的类型名称,然后是相应动物的“声音”。对于名为“Rover”的狗,它将打印“Rover(动物):BARKBARK”。现在,显然,“Rover(动物)”

database - 如何向 PostgreSQL 插入 JSON 数据

我有像blow这样的json字段,我想将其存储在数据库中{id:1name:"testentity1"description:"atestentityforsomeguy'sblog"status:"passed"web_url:"http://localhost:3000"jobs:[{id:"1"name:"test1"status:"passed"},{id:"2"name:"test2"status:"passed"},{id:"3"name:"test3"status:"failed"}]}我继续使用一种方法,例如创建表用途:CREATETABLEtest3(idINTPRI

go - 使用指针序列化结构

具有如下结构层次结构:typeDomainStorestruct{Domains[]*DomainUsers[]*User}typeDomainstruct{NamestringRecords[]*RecordOwner*User}typeUserstruct{NamestringEmailstringDomains[]*Domain}typeRecordstruct{NamestringHoststring}单个DomainStore具有域和用户列表,指针位于域和用户之间。我正在寻找一种对文件进行序列化/反序列化的方法。我一直在尝试使用gob,但指针没有(按设计)正确序列化(扁平化)

google-app-engine - martini & appengine/golang,返回 memcached JSON 数据

我现在正在使用Martini和AppEngine/Go进行编码。我想使用内存缓存来提供JSON数据。但是返回的是无效的JSON格式,为什么返回的是“null”?null{"results":[{"Title":"Nikkei225","PriceTime":"2014-04-2506:28:00UTC","Price":"14,429.26","Diff":"+24.27(0.1%)"},{"Title":"USD/JPY","PriceTime":"2014-04-2520:49:00UTC","Price":"102.12-102.16","Diff":"-0.15(-0.1%)"

go - 将 freebase 数据转储修剪为仅英文实体

我有一个压缩的freebase数据转储,其中包含所有实体。我如何使用grep或其他工具将数据转储修剪为仅包含英文实体?这是我试图让rdf转储看起来像的东西:http://play.golang.org/p/-WwSysL3y3其中card是在所有子元素中都有内容的每个实体。标题是/类型/对象/名称。文本是由"https://usercontent.googleapis.com/freebase/v1/image"%s"\n",id完成的主题中间的图像。Text是实体的/common/document/text。和事实及其事实child作为事实,如年龄、出生日期、高度,这些事实显示在搜索

syntax - 如何将自定义结构放入堆栈然后能够访问所有字段?

我有一个包含字段Field_1和Field_2的结构Foo。packagefootypeCustomstruct{start_rowintstart_columnintmove_rowintmove_columnint}typeFoostruct{Field_1[100]CustomField_2stack.Stack}如何初始化Foo?像这样,new_element:=&foo.Foo{[100]foo.Custom{},stack.Stack{}}但是我需要指定stack作为foo.Customstruct的容器,因为我需要像这样访问后面的start_row,start_colum

goLang 将结构传递给函数(args 接口(interface){})

这是我的代码http://play.golang.org/p/h0N4t2ZAKQpackagemainimport("fmt""reflect")typeMsgstruct{Messagestring}funcprint(yinterface{}){z,ok:=y.(Msg)fmt.Println(reflect.TypeOf(z))fmt.Println("Valueofok",ok)ifok{fmt.Println("Messageis"+z.Message)}}funcmain(){foo:=new(Msg)foo.Message="Hello"fmt.Println("Mes

go - 当指向结构的指针被替换时,GC 的行为如何

我正在学习Go,并且正在阅读图书馆中的示例。我发现一些示例正在使用:typeMyTypestruct{Codestring//...}funcmain(){myType:=&MyType{...}//...myType=&MyType{...}}基本上他们是在重用变量。我知道&MyType{..}返回一个指针,稍后我可以替换该指针。之前指向的内存会发生什么。GC会回收该内存还是我会浪费该内存。也许这是一个愚蠢的问题,我什么都不担心,但我正在尝试学习Go来构建性能API:) 最佳答案 内存将被垃圾收集器回收。如果你想替换结构你可以这样

http - golang,从文件中读取内容,并在 HTTP 请求中作为正文数据发送

//readdatafromafileconfig.json//thecontentsofconfig.jsonis//{"key1":"...Z-DAaFpGT0t...","key2":"..."}client:=&http.Client{}dat,err:=ioutil.ReadFile("/config.json")req,err:=http.NewRequest("PUT",url,bytes.NewBuffer(dat))resp,err:=client.Do(req)然后我会从服务器收到错误信息“400BadRequest”、“无效字符'ï'正在寻找值的开头”。似乎数据没

go - 使用结构成员而不是结构本身

所以这与tarm'sGoSerialPackage有关.我试图用它从串口中读取以“\r\n”结尾的字符串。虽然它没有内置函数,但我发现了thisanswer并从那里开始工作(在创建的端口上使用具有自定义拆分功能的扫描仪)。现在我的问题是,为什么这行得通?端口结构如下(来自包源码):typePortstruct{//Weintentionlydonotusean"embedded"structsothatwe//don'texportFilef*os.File}所以文件指针只是Port类型的一个字段,没有嵌入什么的。但下面的代码有效:funchandler(port*serial.Por