草庐IT

T_OLD_FUNCTION

全部标签

function - 值接收器与指针接收器

我很不清楚在哪种情况下我想使用值接收器而不是总是使用指针接收器。从文档中回顾一下:typeTstruct{aint}func(tvT)Mv(aint)int{return0}//valuereceiverfunc(tp*T)Mp(ffloat32)float32{return1}//pointerreceiver文档还说“对于基本类型、slice和小型结构等类型,值接收器非常便宜,因此除非方法的语义需要指针,否则值接收器是高效的清晰。”第一点他们的文档说值接收器“非常便宜”,但问题是它是否比指针接收器便宜。所以我做了一个小基准(codeongist)这告诉我,即使对于只有一个字符串字段

go - 模板和自定义函数;错误 : executing "templName" at <"funcName"> is not a define function

我得到了一些我用template.AddParseTree方法添加的文本,以便附加模板文本,但是有一个奇怪的行为,该方法应该像这样使用它:singleTemplate=anyTemplatetargetTemplate=*template.Must(targetTemplate.AddParseTree(e.Name,anyTemplate.Tree))但是当singleTemplate有一个函数时它不工作,出于一个奇怪的原因它只在我这样做时才工作singleTemplate=anyTemplatetargetTemplate=*template.Must(singleTemplate

function - 一个函数是如何工作的

本人初学围棋,有以下两个问题很困惑:第一:typeSstruct{afunc()bfunc(iint,jfloat32,kstring)c*func()}funcmain(){s:=S{c:&func(){}}//Error:Cannottaketheaddressof`func(){}`}在这个结构中,c*func()是有效的,但是我如何分配给它?第二:据我所知,函数是一等公民,所以我可以将函数作为参数传递给另一个函数/方法,我也可以声明一个函数变量,所以,函数值是如何工作的,它是实际上是一个函数指针?我看了一些关于对齐和填充的文章,我知道一个接口(interface)值占用16个字

function - golang中变量的范围

我正在尝试在golang中运行一个函数,但出现了一些错误。谁能帮忙。funcexportVal(namestring,valuestring){varops=isWindows()ifops==true{setname=valuefmt.Printf("name=")}else{exportname=valuefmt.Printf("name=")}}但是我遇到了以下错误。D:\Go>gorunocta.go#command-line-arguments.\octa.go:42:10:syntaxerror:unexpectednameatendofstatement.\octa.go

function - 云函数部署问题

当我部署云函数时,出现以下错误。我正在使用gomod,我能够从我的沙箱构建和运行所有集成测试,其中一个云函数依赖使用私有(private)githubrepo,当我部署云功能时Go:github.com/myrepo/ptrie@v0.1.:gitfetch-foriginrefs/heads/:refs/heads/refs/tags/:refs/tags/在/builder/pkg/mod/cache/vcs/41e03711c0ecff6d0de8588fa6de21a2c351c59fd4b0a1b685eaaa5868c5892e:退出状态128:致命:无法读取“https:

go - 模板 :1: function "copyrightYear" not defined

以下代码在tmp.Execute处出现panic,提示function"copyrightYear"notdefinedimport("os""html/template""fmt")funcmain(){fm:=template.FuncMap{"copyrightYear":func()string{returnfmt.Sprintf("%d",time.Now().Year())},}tmp:=template.Must(template.New("").Parse("{{copyrightYear}}")).Funcs(fm)tmp.Execute(os.Stdout,nil)

function - 在 Go 模板中,我可以让 Parse 工作但不能让 ParseFiles 以类似的方式工作。为什么?

我有以下代码:t,err:=template.New("template").Funcs(funcMap).Parse("Howdy{{myfunc.}}")在这种形式下一切正常。但是,如果我对ParseFiles做完全相同的事情,将上面的文本放在template.html中,这是不行的:t,err:=template.New("template").Funcs(funcMap).ParseFiles("template.html")我能够让ParseFiles以下列形式工作,但无法让Funcs生效:t,err:=template.ParseFiles("template.html")

go function input, func (req *AppendEntriesRequest) 编码(w io.Writer) (int, error) {

func(req*AppendEntriesRequest)Encode(wio.Writer)(int,error){pb:=&protobuf.AppendEntriesRequest{Term:proto.Uint64(req.Term),PrevLogIndex:proto.Uint64(req.PrevLogIndex),PrevLogTerm:proto.Uint64(req.PrevLogTerm),CommitIndex:proto.Uint64(req.CommitIndex),LeaderName:proto.String(req.LeaderName),Entri

function - 在外部函数中访问 Go 结构的值

我有以下函数声明,它可以正常工作并正确打印出来。import("fmt""github.com/google/go-github/github")funcLatestTag(user,projectstring){client:=github.NewClient(nil)releases,_,err:=client.Repositories.ListTags(user,project,nil)iferr!=nil{fmt.Printf("error:%v\n",err)}else{release:=releases[0]fmt.Printf("Version:%+v\n",*relea

function - StructScan 未知结构 slice [GO]

所以我想通过StructScan方法填充任何结构,然后将从数据库中获得的任何数据读取到我提供给测试函数的相关结构中。这个脚本不会给出任何编译错误(如果你实现了数据库连接等其他东西)但是StructScan方法仍然返回错误并告诉我它需要一个slice结构。如何创建我不知道其类型的结构片段?感谢您的任何建议。packagemainimport("database/sql""github.com/jmoiron/sqlx")vardb*sql.DBtypeAstruct{Namestring`db:"name"`}typeBstruct{Namestring`db:"name"}funcma