jjzjj

Arguments

全部标签

go - 传递变量作为 exec.Command() 的参数

我想读取用户输入并将其用作命令的参数。我得到了这段代码:packagemainimport("bufio""fmt""log""os""os/exec")funcmain(){reader:=bufio.NewReader(os.Stdin)fmt.Print("Enterimgpath:")imgPath,_:=reader.ReadString('\n')args:=[]string{imgPath,"stdout","-lspa+eng"}out,err:=exec.Command("tesseract",args...).Output()iferr!=nil{log.Fatal

go - 从 Go 中的可变参数创建带有可选字段的类型

我现在正在学习Go,并且想在不使用反射的情况下使用可变参数初始化一个类型。可能吗?举个例子:typeMyTypestruct{field1stringfield2string...fieldNstring}funcCreateMyType(arguments...string)*MyType{inst:=MyType{arguments...}//doesnotwork,isthereanyotherway???return&inst}注意这让我很难过,这个问题被否决了,我问了一些合法的事情并试图从中学习:( 最佳答案 用一点代码就

戈朗 : how can filename arguments be parsed?

我正在用golang编写一个命令行实用程序,它将一个文件作为参数。如何准确地将此参数转换为可用文件?似乎有很多情况要处理:已给出绝对路径,我应该按原样使用已给出相对路径,我应该将它与当前工作目录进行path.Join()路径中使用了“.”和“../”,我认为我仍然应该使用path.Join()并且Go会简化路径?Go是否提供任何东西来处理这个问题?我应该只根据第一个字符是否为“/”进行分支吗?这似乎是一个hacky解决方案,但也许它总是有效,所以应该这样做吗? 最佳答案 操作系统为您解释路径。您不需要对路径名做任何事情。你可以简单地

html - go - 调用 "html/template"时没有足够的参数。必须

我在Golang中编写了一个包装函数,用于从多个文件中渲染模板,如下所示:funcRenderTemplate(whttp.ResponseWriter,datainterface{},tmpl...string){cwd,_:=os.Getwd()for_,file:=rangetmpl{file=filepath.Join(cwd,"./view/"+file+".html")}t,err:=template.ParseFiles(tmpl...)iferr!=nil{http.Error(w,err.Error(),http.StatusInternalServerError)r

戈朗 : Can I apply helper function to one of the returned arguments

假设我有connection:=pool.GetConnection().(*DummyConnection)其中pool.GetConnection返回interface{},我想将其转换为DummyConnection。我想更改GetConnection接口(interface)以返回错误。代码开始看起来像这样:connectionInterface,err:=pool.GetConnection()connection:=connectionInterface.(*DummyConnection)我想知道,我是否可以避免使用辅助变量并将它们放在一行中?

reflection - 如何获取在 GO 中的 func() 参数中传递的参数值?

我正在尝试在路由中创建中间件,想知道如何获取在func()参数中传递的参数值。例如:func(cappContainer)Get(pathstring,fnfunc(rwhttp.ResponseWriter,req*http.Request)){//HOWDOIGETTHEVALUESOFrwANDreqPASSEDINfnfunc()?c.providers[ROUTER].(Routable).Get(path,fn)}我查看了反射文档,但我不清楚,或者也许有更简单的方法?已编辑(解决方案)事实证明不需要反射(reflection),正如Adam在对这篇文章的回复中以及Jason

go - 为什么调用用户定义类型的用户定义 String() 会抛出 "not enough arguments in call to BitFlag.String"?

我列出了《ProgramminginGo》一书中的代码。我对其进行了测试,但效果不佳。error:"notenoughargumentsincalltoBitFlag.String"Goplayground代码:http://play.golang.org/p/FG23LdS_xKtypeBitFlagintfuncmain(){flag:=Active|SendBitFlag.String();}func(flagBitFlag)String()string{...}为什么我会看到这条错误消息? 最佳答案 您需要在BitFlag的

sockets - 去写套接字 - 无效参数

我试图在Go中写入一个TCP套接字,但只收到带有此代码的“无效参数”:_,err:=conn.Write([]byte("test"))iferr!=nil{fmt.Println(err.Error())} 最佳答案 这是一个简单的例子,说明你想做什么(也许?),请注意你应该让tcp服务器在运行之前先监听端口8999nc-l8999#ormaybenc-l-p8999代码:packagemainimport("net")funcmain(){conn,_:=net.Dial("tcp","localhost:8999")conn.

go - gobot 中转换的参数太多

我正在尝试使用gobot框架测试LDR。我使用了AnalogSensorDriver设备驱动,我的代码是packagemainimport("time""gobot.io/x/gobot""gobot.io/x/gobot/drivers/aio""gobot.io/x/gobot/platforms/raspi")funcmain(){r:=raspi.NewAdaptor()ldr:=aio.AnalogSensorDriver(r,"7")work:=func(){gobot.Every(1*time.Second,func(){ldr.Read()})}robot:=gobot

戈朗 : command-line-arguments undefined: variable

我想在Golang中创建一个外部函数用于显示使用情况,但我不知道如何调用flag变量。这是我的实际代码:packagemainimport("flag""fmt""os")funcUsage(){ifArgSend{fmt.Printf("Usage:SEND")flag.PrintDefaults()os.Exit(0)}elseifArgTest{fmt.Printf("Usage:-test")flag.PrintDefaults()os.Exit(0)}elseifArgMacro{fmt.Printf("Usage:-macro")os.Exit(0)}else{fmt.Pr