草庐IT

Go Modules - 目录和包的命名约定

我明白了GoModules仍然是一个实验性的选择加入功能,也许正因为如此,我找不到关于如何命名目录和package的明确指导。在这些PackagenamesinGoBlog发布和PackagenameinEffectiveGo,他们说目录应该与包名称相匹配——但我不确定GoModules是否会遵循相同的模式。如果我想在packagebusiness中将我的业务逻辑与许多文件捆绑在一起,创建子目录validators/并保持相同的包名称package是否合理业务?someDir├──business│  ├──businessA.go//packagebusiness│  ├──busi

go - 如何将不遵守主要子文件夹约定的 Go 包的 v2.0.0 作为模块引用

我们正在运行一个spike来确定我们如何或者是否可以将我们的堆栈迁移到Go模块。我们依赖v2.0.0https://github.com/gbrlsnchs/jwt但它既没有转换为模块本身,也没有遵守将主要版本放在子文件夹下的Go约定。在将我们的内部包转换为具有这种依赖性的模块时,我们有哪些选择? 最佳答案 github.com/gbrlsnchs/jwt在v2.0.0有一个go.mod文件表明它的规范导入路径是github.com/gbrlsnchs/jwt/v2.更新你的import语句以使用该路径——它也应该在Go1.9.7、

go - 下载并准备要在另一台隔离机器上使用的 go 包的依赖项

我有两台机器:Alice和Bob。Alice没有连接到网络,Bob是。我想在Alice上构建并运行一个go程序,但它需要多个依赖项。有没有一种方便的方法可以从Bob准备所有这些依赖关系,所以我只需要将一个目录从Bob复制到Alice并运行去构建(在Alice上)? 最佳答案 所有编译源都在$GOPATH中。将其复制到Alice将为您提供重建包所需的一切。由于您的源代码也应在$GOPATH中,因此不应有任何其他内容可复制。如果您使用的是go1.6+或go1.5且GO15VENDOREXPERIMENT=1,您可以将所有依赖项放入项目的

unit-testing - Golang - 多个包的有效测试

我想从我的应用程序执行所有测试,现在我用命令来执行:gotest./app/...不幸的是,它需要相当长的时间,尽管单个测试运行得非常快。我认为问题在于go在运行测试之前需要编译每个包(及其依赖项)。我尝试使用-i标志,它有点帮助,但我仍然对测试时间不满意。gotest-i./app/...gotest./app/...您是否知道如何有效地测试多个包。 最佳答案 这就是gotest的本质:它构建了一个特殊的运行时,其中包含要执行的附加代码(这就是它跟踪代码覆盖率的方式)。如果速度不够快,您有两个选择:1)使用bash工具编译包列表(

不同包的Golang函数泛化

假设需要使用这些函数,我怎样才能使这个调用通用,这样我就不会重复几乎相同的代码。使用“编码/csv”funcgetDataFromCSVFiles(files[]string)(error,Data){data:=Data{}for_,file:=rangefiles{f,err:=os.Open(file)iferr!=nil{panic(err)returnerr,data}deferf.Close()r:=charmap.ISO8859_1.NewDecoder().Reader(f)reader:=csv.NewReader(r)fori:=1;;i++{rec,err:=re

跨包的 golang 变量命名约定

最近开始研究go-ethereum,第一次使用golang。C++是我的主要语言,由于go-ethereum项目中的变量名称,我有点困惑。core/state/managed_state.go:25:type帐户结构{core/state/state_object.go:98:type账户结构{state包中同时存在account和account两种类型,看起来很奇怪。我检查过NamingconventionforsimilarGolangvariables,它看起来仍然很糟糕。我发现他们在不同的包中使用了很多“节点”结构。当然,它们确实有不同的目的和结构。这些命名方式在golang中

windows - Azure 角色包的大小是否有限制?

我很想includeatonofbinaryfilesrightintoanAzurerolepackage这样它就可以变成几百兆字节的大小。在我这样做之前,我必须问-Azure角色包的大小是否有限制? 最佳答案 我认为限制是600MB(http://social.msdn.microsoft.com/Forums/pl-PL/windowsazuremanagement/thread/65620bdb-3439-4ce0-8f17-561914d325ac)。然而,正如Travis所建议的那样,您应该考虑将图像、视频等项目存储在b

windows - 用于获取运行 Windows Server 2012 的服务器上安装的所有语言包的 Powershell 命令

如何通过powershell命令找到我的服务器(windowsserver2012)上安装的所有语言包?我喜欢(通过脚本)识别我的服务所需的任何语言是否未安装,然后运行​​DISM以添加缺少的语言包。 最佳答案 您可以解析DISM输出:$LangPacks=DISM.exe/Online/Get-Intl/English|Select-String-SimpleMatch'Installedlanguage(s)'|ForEach-Object{if($_-match':\s*(.*)'){$Matches[1]}}if($Lang

python - 处理 Python 库包的最佳实践是什么?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion基本上,我们有一个Python库,其中包含我们在许多程序中使用的模块和函数。目前,我们直接将SVN存储库checkout到C:\Python27\Lib中,以便该库位于Python路径中。当有人对库进行修改时,每个人都会更新以获取这些修改。我们的一些程序被卡住(使用cx-Freeze)并交付,因此我们必须跟踪交付中使用的库版本,但cx-Freeze会自动打包代码中导入的模块。我认为依靠人们

windows - posh-gvm 在 Windows 中安装库/程序/包的目录/位置

我想知道posh-gvm(SDKMANforwindows)安装软件的位置。我已经简要查看了ProgramFiles、%APPDATA%和%HOMEDRIVE%\Users\%USERNAME%,但找不到任何内容。在网上很难找到这些信息。 最佳答案 在看到similarpost之后关于Unixgvm的目录install-dirat~/.gvm,我找到了位于下的目录%HOMEDRIVE%\Users\%USERNAME%\.posh-gvm|__groovy|__scala|__grails\__etc...