草庐IT

部分可重构

全部标签

go - 如何构建程序作为测试的一部分

我想测试一个函数callProgram执行二进制文件并正确处理输出。为此,我最初的想法是像这样编译原始代码:packagemytestimport("testing")const(binary_code=`packagemainfuncmain(){//Gloriousprocessing...}`)funcTestCall(t*testing.T){p:=buildTestProgram(binary_code,"~/testbinary")deferp.Delete()callProgram("~/testbinary")}我查看了build命令(runBuild),它的实现非常简

json - 当左侧部分是数​​字时如何在golang中解码json

我想在代码中像这样解码一个json。但是这段代码不起作用。有什么建议么?谢谢!附言。Playground在这里http://play.golang.org/p/m2f94LY_d_packagemainimport"encoding/json"import"fmt"typeResponsestruct{PageintOnestring"1"}funcmain(){in:=[]byte(`{"page":1,"1":"thisis1"}`)res:=&Response{}json.Unmarshal(in,&res)fmt.Println(res)} 最佳答案

go - 按类型划分的功能?怎么重构呢?

我正在从文件中读取json数据并使用gob编码将其发送到远程服务器,但我对我的代码不满意,我尝试了几种方法来获得更通用的函数,但我失败了,我的代码工作的唯一方法是为每种类型提供相同的函数。我尝试对类型使用switch,但同样需要重复代码以解码和编码gob数据拜托,有人可以帮助我了解如何改进吗?两种类型:typeData1struct{IDintMessagestring}typeData2struct{SerialintHeightfloat64Lossfloat64Tempfloat64Oilfloat64}Data1类型的函数funcSenderData1(addressstrin

algorithm - Golang 读取文本文件并从其中一个读入值中取出一部分

在我下面的代码中,我希望读取一个文本文件,每行填充了一个数字1-5。我希望它扫描该行并读取其中一个值,看看它是否//Thisisthepartoftheprogramthatwillreadfromatextfilenamed"file"//Toseewhatnumberswereselectedlasttimesotherecipeforweektwocanbe//acompletelynewrecipegroupof5f,err:=os.Open("file")iferr!=nil{fmt.Println(err)}for{varzintvarnintn,err=fmt.Fscan

http - MIME ParseMediaType 在多部分边界上失败

我是一个接受多部分/表单数据请求的Golangapi。但是,对于某些客户端,它无法解析表单,因为它不喜欢客户端使用的边界。来自客户端的header是:Content-Type:[multipart/form-data;boundary================1648430772==]我已将其缩小到mime包中的ParseMediaType函数。如果我调用:bad:="multipart/form-data;boundary=1650458473"d,params,err:=mime.ParseMediaType(v)iferr!=nil{fmt.Println("err",er

go - 读取多部分请求导致意外的 EOF 错误

Go版本:1.6.3macOS我正在尝试编写一个api来将apk文件(在大多数情况下为几MB)上传到服务器。这是客户端代码:funcsyncApk(apkFile*os.File){deferapkFile.Close()varbufferbytes.Bufferwriter:=multipart.NewWriter(&buffer)deferwriter.Close()part,err:=writer.CreateFormFile("apk",filepath.Base(apkFile.Name()))iferr!=nil{fmt.Fprintf(os.Stderr,"Errorcr

xml - 将 XML 转换为 XML 但仅显示部分元素

我需要将一个xml文档中的元数据转换为另一个xml文档中的DublinCore元数据。这是第一个xml文档:LetterfromWaldemarSchultzetoJennieSchultzeSchultze,Waldemar1943-06-30SpecialCollectionsandUniversityArchives,W.E.B.DuBoisLibrary,UniversityofMassachusettsAmherst.RobertandWaldemarSchultzePapers(MS528).SpecialCollectionsandUniversityArchives,W

c# - 过滤部分 XML 文档的有效方法

我正在寻找一种过滤XML文档的有效方法。我正在使用C#/.NET。假设我有以下原始文档:Store1BobABCJohnXYZ我在其他地方存储了另一个部分文档:JohnXYZ使用这两个文档,我需要输出第二个部分XML文档,包括它的原始祖先。Store1JohnXYZ我也愿意接受其他可能的方式来做到这一点。我有一份无法直接操作的原始文档。我需要单独存储对该文档部分的“引用”。然后我需要使用“引用”过滤/翻译原始文档以供显示。 最佳答案 此XSLT转换:JohnXYZ应用于提供的XML文档时:Store1BobABCJohnXYZ产生想

c# - XElement 的 Linq to xml 部分

我正在使用LinqtoXML将列表保存到XML字符串中。我要获取的xml字符串:xxx23yyy25C#代码:ListpeopleList=newList();peopleList.Add(newPeoples(){Name="xxx",Age=23});peopleList.Add(newPeoples(){Name="yyy",Age=25});varpeople(fromiteminpeopleListselectnewXElement("people",newXAttribute("name",item.Name),newXAttribute("age",item.Age)))

xml - 修改部分 XML 元素名称并替换为增量编号

是否可以使用XSLT将部分元素名称更改为另一个具有递增编号的元素名称。比如我只想更改以UPC_开头的元素名123223345unchange12341235unchange为了这个?123223345unchange12341235unchange 最佳答案 使用XSLT可以很容易地实现这一点。首先,您将创建一个模板来匹配以UPC开头的元素然后您将根据元素的位置使用修改后的名称创建一个新元素请注意此处在创建名称时使用了“属性值模板”。花括号表示这是一个要计算的表达式,而不是字面输出。这是完整的XSLT应用XML后,输出如下12322