草庐IT

execute_func

全部标签

golang 将 func 作为参数传递给另一个 func

主要问题是“是否可以将任何类型的func作为参数传递以及如何传递?”。我正在学习Go并且想像这样制作我自己的异步包装函数:funcAsyncFunc(fnfunc(),args...interface{})chanbool{vardonechanbool;gofunc(){fn(args...);done并调用它:max:=func(a,bint)int{//somehardcodewhatwillbegoroutineifa>b{returna};returnb;}done:=AsyncFunc(max,5,8);//someprettycode附言抱歉我的英语不好...编辑1:我知

Golang 构建 : get 'Syntax error: newline unexpected' when executing executable from specific path

我的应用打包如下:|-cmd/|-cmd/application/并且当从根/运行以下命令时:gobuildcmd/application/*.go它生成一个运行良好的可执行文件。但是当从/cmd/application中输入以下命令时:gobuildmy_app_custom_name我收到Syntaxerror:newlineunexpected错误,就好像它不再是bash可执行文件一样。 最佳答案 在使用标志-v和-x之后,在指示@Volker的帮助下,我发现我将包命名为“myapp”,而不是应有的“main”。现在它工作得很

go - 如何在 golang 中获取 func 文档?

如何获取go代码中的函数描述?//MyverynicedescriptionfuncmyFunc(){...}我想要我非常好的描述。获取函数的名称非常简单:runtime.FuncForPC(reflect.ValueOf(myFunc).Pointer()).Name()文档是否有类似的内容?我解析原go文件就可以了。有什么捷径吗? 最佳答案 使用go/doc从源代码中提取文档的包。 关于go-如何在golang中获取func文档?,我们在StackOverflow上找到一个类似的问题

go - "(type func())"和 "type func()"有什么区别

我正在尝试构建代码示例,但出现以下错误:cannotuseFuncName(typefunc())astypefunc()errorinfieldvalue圆括号是什么意思? 最佳答案 没有区别,但您误解了错误消息。它的意思是类型FuncName是func()不能用作func()error因为它不返回错误。 关于go-"(typefunc())"和"typefunc()"有什么区别,我们在StackOverflow上找到一个类似的问题: https://sta

go - 在函数注册表中调用 HTTP func

我有一个func注册表,但我不知道如何在其上调用HTTPfunc。registry:=map[string]func(){"MyFunc1":MyFunc1,}registry["MyFunc1"]()funcMyFunc1(whttp.ResponseWriter,r*http.Request){w.Write([]byte("HiGorilla!"))}我把它们改成了这些:registry:=map[string]func(http.ResponseWriter,*http.Request){"MyFunc1":MyFunc1,}但我现在不能调用它!gorilla.HandleFu

使用 Delve : execute function 进行调试

我使用runtime.Breakpoint()在我的Go代码中设置了一个断点,保存文件(我的编辑器,带有go-plusinstalled的Atom,运行goinstall.节省)。然后我在终端中使用dlvdebug运行Delve,并在它启动后键入continue。当断点启动时,我想测试一些东西(主要是打印读者的数据viaabytes.Buffer)。但是,我收到以下错误buf:=new(bytes.Buffer):"1:5:expected'EOF',found':='"并且通常只能打印值。难道真的不能做这种事吗?我习惯了Python的pdb,在其中设置变量或调用函数不是问题,我希望D

docker - Golang docker 多阶段构建运行失败 : exec: "go": executable file not found in $PATH

使用Docker多阶段构建部署简单API时,会抛出以下错误:$dockerbuild-tapi:latest.[...]$dockerrun-p4880:4880--rm--name=apiapi:latest2019/01/2923:02:15exec:"go":executablefilenotfoundin$PATH因为我的应用程序没有从任何地方(或任何exec.Command)调用go,所以我运行了一个gomodvendor,所以我可以检查依赖源代码,发现如下:vendor/github.com/lib/pq/oid/gen.go12:"os/exec"64:cmd:=exec

go - reflect.Make Func 在 Golang 中的运行

我收到一个错误:undefinedreflect.MakeFunc..为什么会这样?packagemainimport("fmt""reflect")funcmain(){swap:=func(in[]reflect.Value)[]reflect.Value{return[]reflect.Value{in[1],in[0]}}makeSwap:=func(fptrinterface{}){fn:=reflect.ValueOf(fptr).Elem()fn.Set(reflect.MakeFunc(fn.Type(),swap))}varintSwapfunc(int,int)(i

go - 如何将键数组传递给 go-redis 包中的 MGET func?

我正在使用go-redis包(也尝试过redigo)并想获得多个值,看来我必须使用MGET()函数,但函数输入就像(keys...string),有什么方法可以让我构建一个键数组并传递给函数或任何其他hacky方法来做到这一点?在我的例子中,键(还有键)的数量不固定,想要动态处理 最佳答案 用键创建一段字符串。使用variadicsyntax调用函数:varkeys[]stringkeys=append(keys,"foo")keys=append(keys,"bar")sc:=client.MGet(keys...)同样的方法适用

Golang func main() 在 main 以外的包中?

以helloworld为例,包名是main,还有funcmain()语句。但是我也看到了funcmain()的代码,它在其他一些包中。然而,该代码似乎可以用作独立程序。那么,funcmain()的包语句不是packagemain是什么意思? 最佳答案 Go编程语言由其规范定义。TheGoProgrammingLanguageSpecificationProgramexecutionAcompleteprogramiscreatedbylinkingasingle,unimportedpackagecalledthemainpacka