草庐IT

Private-Package

全部标签

go - 结构中的私有(private)/公共(public)领域..表现不同

为什么我可以这样做packagemainimport"fmt"funcmain(){c:=Circle{x:0,y:0,r:5}fmt.Println(c.r)}typeCirclestruct{xfloat64yfloat64rfloat64}http://play.golang.org/p/0ypcekVDV9当我不能对包中的结构执行相同的操作时?如果我尝试访问带有小写字段的结构,则会返回编译器错误。 最佳答案 如前所述,需要导出字段才能从另一个包访问。查看specExportedidentifiersAnidentifierm

github - Golang - 错误 `cannot find package`

在使用gogettogetongithub.com/mattn/go-sqlite3后,我收到一条错误消息,指出“golang.org/x/net/context”。我不确定到哪里去解决这个问题 最佳答案 您是否下载了context包的源代码?一种常见的方法是使用捆绑工具goget,方法是:gogetgolang.org/x/net/context这应该将context包的源代码导入到由GOPATH环境变量定义的Go工作区中。(在您的情况下,包的代码将下载到$GOPATH/src/golang.org/x/net/context。)

go - 为什么要从公共(public)函数调用私有(private)函数,而不是在公共(public)函数中调用私有(private)函数?

我在golangsrc中看到很多这样的代码:funcOpen(pathstring)(*Plugin,error){returnopen(path)}funcopen(){//etc}从公共(public)调用私有(private)函数。为什么不只是:funcOpen(pathstring)(*Plugin,error){//codeofopenhere}引用:https://golang.org/src/plugin/plugin.go?s=1065:1104#L21我确实理解有时它是有道理的,尤其是当有更多功能使用open时。但事实并非如此。这是某种Golang组织方式吗?

go - 为什么 go package code 没有 body?

这个问题在这里已经有了答案:Functionsignaturewithnofunctionbody(1个回答)关闭7年前。学习导出包的时候想知道go包的编码风格。发现source(ex:"math","fmt")中包的代码有函数以大写字母开头但没有正文。我只是遵循这段代码,但不起作用。谁能解释一下原因??funcAbs(xfloat64)float64funcabs(xfloat64)float64{switch{casex

google-app-engine - Go: install drive v2 package cmd/cgo 报错

我正在尝试获取googledrivepackageforgo,但使用下面的总是会引发错误。我应该手动安装吗?./gogetcode.google.com/p/google-api-go-client/drive/v2loadcmd/cgo:packagecmd/cgo:noGosourcefilesin.../google_appengine/goroot/src/cmd/cgo 最佳答案 包裹好像坏了。其导入路径(v2)的基本名称与在那里找到的包名称(drive)不匹配。我不确定,但我想也许生成某些内容的某些脚本已损坏。我建议询问

去构建 : “Cannot find package” (even though GOPATH is set)

我的问题与this非常相似,不同的是我有最佳答案指出的目录层次结构,但我仍然遇到同样的问题,为什么?$echo$GOROOT/usr/local/go$echo$GOPATH/home/mitchell/go$cat/home/mitchell/go/src/main.gopackagemainimport"comment/create"funcmain(){}$cat/home/mitchell/go/src/comment/create/***.go(bunchofgofiles)packagecreate$gobuildmain.gomain.go:3:8:import"comm

reflection - 戈朗 : How can I use refect package with exsisting library

我想从函数名调用现有库中的函数。在golang中,只要从methodname调用method就OK了,因为reflectpackage有(vValue)MethodByName(namestring)。但是,对于调用方法,所有方法参数都应该是reflect.Value。如何调用参数不是reflect.Value的函数。packagemain//-------------------------------//Exampleofexistinglibrary//-------------------------------typeClientstruct{idstring}typeMet

戈朗 : Zip Package Modified Time Defaults to 30 November 1979, 00:00

如何将zip文件的修改时间更改为time.Now()?当我创建一个zip文件时,我得到的修改时间是1979年11月30日00:00。那么有没有简单的方法可以将修改时间设置为现在呢? 最佳答案 我发现这个函数可以满足我的需求:funcFileInfoHeader(fios.FileInfo)(*FileHeader,error)。这将获取一个输入数据文件并创建一个部分填充的FileHeader。 关于戈朗:ZipPackageModifiedTimeDefaultsto30November

github - Golang 克隆私有(private) github 仓库

我正在编写一个go-lang应用程序,我需要:进入兄弟目录尝试过:exec.Command("/bin/sh","-c","cd..").Output()并克隆/更新GitHub私有(private)存储库:gitclone....GitHub存储库我无法完成这两项任务。我尝试了GitHub/libgit2/git2go但在Ubuntu16.04上libgit2无法理解https。感谢您的帮助。 最佳答案 致谢@JimB:-)funcupdate_ghub(wg*sync.WaitGroup){var(cmdOut[]byteerr

windows - 如何强制 Windows godoc 在 golang 中更新本地网络服务器上的私有(private)包文档?

在Windows上运行本地godoc网络服务器时,如何强制godoc更新我的私有(private)包文档?在Windows上运行命令:“godoc-http:6060”不会更新私有(private)包中的新godoc注释。当我第一次运行该命令时,它获得了已经存在但自终止并重新启动该命令以来尚未更新的注释。是否有缓存或我可以清除的东西?我在任何地方都找不到关于此的任何信息。有一个非常古老的github问题(显然已修复)由于年龄而被卡住并处理当前(和我自己的)go1.8windows/amd64安装中godoc中不存在的-sync选项:https://github.com/golang/g