草庐IT

批处理bat命令

全部标签

go - 使用 codegangsta/cli 捕获命令标志变量

我尝试用Go编写我的第一个CLI应用程序。我使用codegangsta/cli作为结构。我的问题:我有一些命令:Add--nameShow--allDelete--force从文件/commands/add.go我无法从/commands.go中获取变量StackName设置如下:packagemainvarStackNamestringvarCommands=[]cli.Command{{Name:"add",Usage:"",Action:command.CmdAdd,Flags:[]cli.Flag{cli.StringFlag{Name:"name,n",Value:"defa

go - 在 go 中测试连接到 db 的处理程序

我有一个连接到数据库并检索记录的处理程序。我为此写了一个测试用例,它是这样的:main_test.gopackagemainimport("os""fmt""testing""net/http""net/http/httptest")varaAppfuncTestMain(m*testing.M){a=App{}a.InitializeDB(fmt.Sprintf("postgres://****:****@localhost/db?sslmode=disable"))code:=m.Run()os.Exit(code)}funcTestRulesetGet(t*testing.T){

go - 使用mapstructure处理接口(interface)数据

我正在从HashicorpVaultAPI获取数据,并努力操作它,因为我对接口(interface)的理解仍然很模糊:(我正在从PKI后端收到TLS证书响应。使用go-dumper,它输出如下:(0xc4203880c0)&Secret{RequestID:"271c63ef-d7b6-a084-18a0-966dd6989f03",LeaseID:"",LeaseDuration:0(int),Renewable:false,Data:map[string]interface{}{"serial_number":interface(),"ca_chain":interface(),"

go - 任何惯用的生成/预处理解决方案库?

我真的很喜欢Go但让我对if-errhell以及当我在Go代码中与其他语言同步数据类型时感到疯狂。对于C/C++,我可以很容易地用宏处理这些东西,而Go开发人员说Go的惯用解决方案是代码生成,但我没有找到任何开箱即用的解决方案。所以基本上,我需要的是类似阅读源代码,检查每种类型的用法是否列在特殊配置文件中。如果是,则将其更改为配置中的那个。阅读源代码,检查每个函数是否在配置文件中列出。如果是,则使用模板配置中的代码片段对其进行更改,如果缺少则添加必要的导入。可能会根据返回值添加一些多态性以防止类型转换。也许,添加(errerror)逻辑。不确定这是个好主意。像这样code.gofunc

go - 如何使用命名管道处理进程输出

我正在尝试从tmux中正在运行的进程设置管道,以便逐行处理其输出。我看过thisguidetopipetheoutputofatmuxsessiontostdout和thisarticleabout(named)pipesingo.我已经尝试了很长一段时间,但仍然没有得到任何值得注意的结果。如果有任何关于如何设置该管道的想法,我将不胜感激,理想情况下,我可以按行对其进行范围调整。非常感谢 最佳答案 这是我找到的解决方案here(谢谢Malcolm)funcReadln(r*bufio.Reader)(string,error){va

templates - golang 模板处理和泛型

我有两个golanghtml模板,如下:varmmap[string]stringm=make(map[string]string)m["First"]=`Firsttemplatetype{{.First}}`m["Second"]=`Secondtemplatetype{{.SecondF1}}{{.SecondF2}}`第一个html模板只有一个参数,名为First而第二个模板需要两个参数,名为SecondF1和SecondF2.现在我有一个包含两个字段的结构,一个用于接收模板名称,另一个用于接收模板参数。typetmplReceiverstruct{TmplNamestring

windows - Golang exec .bat 或 .exe 文件但没有得到输出

我想用golang执行.exe文件并在网络套接字中发送输出值。它在linux中运行良好,当我运行bash文件但在Windows中无法使用.exe或.bat文件时(.bat文件运行带有一些参数的.exe文件)。该程序已执行,但我从未看到并收到脚本的输出。我的问题只是如何在Windows中获取脚本的输出。如果你能帮助我,我将不胜感激。谢谢:)cmd:=exec.Command("cmd","/C","file.exeorfile.bat","parameters")stdout,err:=cmd.StdoutPipe()iferr!=nil{panic(err)}stderr,err:=c

asynchronous - 多个函数的数据处理是异步的

我有通过http接收的数据,这些数据需要由两个不同的函数处理。重要的是它们由每个函数按顺序处理。在文件中,例如:1,2,3,4,5。而数据库也记录了1,2,3,4,5。作为fifo模型。现在我有这样一个问题......我的数据一直在运行,有时数据库可以满足我更新数据的要求很长时间,因此我无法及时更新文件。在可能的情况下将数据添加到文件或数据库对我来说很重要。我可以使用缓冲channel,但我不知道队列中有多少数据可以等待处理,我不想表明缓冲区的大小肯定很大。我尝试向NewData函数添​​加更多goroutine,但在那种情况下,我的数据不是按顺序写入的。此代码显示了问题。packag

go - pprof 配置文件与 julienschmidtrouter 和基准测试不分析处理程序

我正在尝试分析我编写的Web服务器,但我的pprof不包含有关处理程序函数的任何数据。我正在使用httprouterpackage由julienschmidt编写,并想简单地对我的一个处理程序进行基准测试,然后查看pprof配置文件。对于基准测试,我使用go-wrk我像这样设置我的网络服务器和pprof://Configuretheserverserver:=&http.Server{Addr:":4000",Handler:router,}gofunc(){log.Println(http.ListenAndServe(":6060",nil))}()//Starttheserver

go - 将 exec.CommandContext 与 sg_inq sys 命令和超时一起使用永远不会返回

我正在尝试在多路径设备(/dev/mapper/mpatha)上调用sg_inq。sg_inq向特定设备发送iScsi查询并提取一些数据。我正在使用go自己的exec.commandContext超时,如下所示:ctx,cancel:=context.WithTimeout(context.Background(),time.Duration(1000)*time.Millisecond)defercancel()cmd:=exec.CommandContext(ctx,"sg_inq","/dev/mapper/mpatha")err:=cmd.Run()cmd.Stdout=&st