草庐IT

parsed_structure

全部标签

parsing - 具有动态模式的 Golang 和 yaml

我有一个带有动态模式的YAML结构,例如我可以有以下yaml:array:-name:myvarval:1-name:mymapval:[1,2]Goyaml将yaml映射到Gostruct,它应该声明明确的类型。这里,val要么是一个单数,要么是一个数组,甚至是一个映射。对于这种情况,哪个是最佳解决方案? 最佳答案 我决定添加一个显示类型断言的答案,而不是reflect包。您可以决定哪个最适合您的应用程序。我个人更喜欢内置函数,而不是复杂的reflect包。vardata=`array:-name:myvarval:1-name:

go - 如何使用time.Parse解析hh :mm format in Go

我正在导入格式的很多字段:上午09:02上午10:02中午12:30下午04:10下午04:50下午5:30我想将这些字段转换成我可以对其进行算术运算的东西。例如,对事件发生的时间进行倒计时。因此,以微秒……甚至秒为单位保存字段。我一直在努力争取时间。解析工作...没有快乐。fmt.Println(time.Parse("hh:mm",m.Feed.Entry[i].GsxA100Time.T))返回...0001-01-0100:00:00+0000UTCparsingtime"07:50PM"as"hh:mm":cannotparse"07:50PM"as"hh:mm"有什么建议吗

go - 如何正确使用 time.Parse 从 Unix 时间字符串创建时间对象?

我们正在尝试将unix时间戳(以字符串形式提供)解析为时间对象,但是,以下操作不起作用:packagemainimport("fmt""time")funcmain(){t,_:=time.Parse(time.UnixDate,"1393344464")fmt.Printf("%v",t)}它不断返回0001-01-0100:00:00+0000UTC。GoPlayground. 最佳答案 首先,你有一个错误并且你没有检查它:http://play.golang.org/p/7ruFfv5QHT这是不好的做法(这些错误有助于调试!

parsing - 如何在 golang yaml 解析器中保留空格和换行符?

我想要类似的东西Sometexthere,indentedtextherenextindentedtexrhere我试过这种yaml风格key:|Sometexthere,indentedtextherenextindentedtexthere上面的yaml代码只保留了换行符但丢弃了缩进的空格。如何保留这些额外的空间?我用来解析yaml文件的代码主包导入(“操作系统”“调频”“github.com/kylelemons/go-gypsy/yaml”)功能主要(){map_,err:=解析()fmt.Println(map_.Key("Key"),err)}funcParse()(yam

戈朗 : 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)将不起作用。但这是可能的,因为编译器应该能够看到两个结构的字段是相同的。也许是因为没有导出字段,所以支持

parsing - 如何使用go template用FuncMap解析html文件

我使用下面的代码来解析html模板。它运行良好。functest(whttp.ResponseWriter,req*http.Request){data:=struct{AintBint}{A:2,B:3}t:=template.New("test.html").Funcs(template.FuncMap{"add":add})t,err:=t.ParseFiles("test.html")iferr!=nil{log.Println(err)}t.Execute(w,data)}funcadd(a,bint)int{returna+b}和html模板test.html。但是当我将h

parsing - 如何使用 Go 解析方法或函数中的语句

我想解析go代码,尤其是函数的内容。到目前为止,使用parser.ParseFile函数很容易获得函数声明。packagemainimport("fmt""go/parser""go/token""go/ast""log")varcode=[]byte(`packagemainimport("fmt")funcGetFoo(){test:=foo()fmt.Println(test)}funcfoo()int{return0}`)funcmain(){fset:=token.NewFileSet()f,err:=parser.ParseFile(fset,"",code,parser.

html - 我需要 html.Parse() 无法解析的 HTML

我正在编写一个Go函数来读取HTML响应正文并提取页面标题。总的来说,这个函数工作得很好,但我想测试响应主体根本不是正确HTML的代码路径。我为单元测试创​​建一些无效HTML的简单尝试已经化为乌有。显然,根据html.Parsedocumentation,这是因为:theHTML5parsingalgorithm[…]isverycomplicated.Theresultanttreecancontainimplicitlycreatednodesthathavenoexplicitlistedinr'sdata,andnodes'parentscandifferfromthenes

parsing - yacc shift-reduce 用于不明确的 lambda 语法

我正在用Yacc(与Go打包在一起的语言)为一种玩具语言编写语法,由于以下伪问题,我有一个预期的shift-reduce冲突。我必须将问题语法提炼为以下内容。start:stmt_listexpr:INT|IDENT|lambda|'('expr')'{$$=$2}lambda:'('params')''{'stmt_list'}'params:expr|params','exprstmt:/*empty*/|exprstmt_list:stmt|stmt_list';'stmtlambda函数看起来像这样:map((v){v*2},collection)我的解析器发出:conflic