草庐IT

指定版本

全部标签

go - 如何使用 go get 导入特定版本的包?

来自Node环境我曾经通过告诉npm将vendor库的特定版本安装到项目文件夹(node_modules)从package.json或什至直接从控制台安装该版本的库,如下所示:$npminstallexpress@4.0.0然后我过去常常在我的项目中导入那个版本的包:varexpress=require('express');现在,我想用go做同样的事情。我怎样才能做到这一点?是否可以安装特定版本的软件包?如果是这样,使用集中式$GOPATH,我如何导入一个版本而不是另一个版本?我会做这样的事情:$gogetgithub.com/wilk/uuid@0.0.1$gogetgithub.

go - 当顶级模块及其子模块之一作为单独的版本分别导入时,如何解决冲突的 go 模块依赖关系?

我的项目中有两个依赖项。go.mod:modulegithub.com/test-org/test-repogo1.12require(github.com/foo/barv1.0.0github.com/raz/matazv1.0.0)运行gomoddownload后,这两个依赖项会导致下载两个不同版本的github.com/shared/dependency。有趣的是github.com/shared/dependency包含子模块,例如:dependency--go.mod--api--go.mod检查下载的模块显示两个版本下载到我的本地机器:ls${GOPATH}/pkg/mo

go - 是否需要指定列名?

我正在用gorm做一个Go项目。建表时,是否需要在option中指定列名?当您查看公式并需要映射时ID`gorm:"column:user_id"需要这样写UserIDint32`gorm:"column:user_id"`意识到这不是必需的不是错误的吗? 最佳答案 如果你想要一个不同于默认行为的列名,你需要标记结构域。此声明UserIDint32为您提供user_id字段。如果可以的话,您可以不指定gorm标签,但如果您愿意这样做-这不是一个错误。 关于go-是否需要指定列名?,我们在

go - 如何修改旧版本的 printer.Fprint 以在最新版本的 Go 上运行

str:=new(bytes.Buffer)//oldcodeprinter.Fprint(str,c)//oldcodestr:=new(token.FileSet)//newcodeprinter.Fprint(os.Stdout,str,c)//newcodesource+="\t"+str.String()+";\n"在这段代码中,我尝试将str的值从new(bytes.Buffer)更改为new(token.FileSet),因为Fprint的参数需要;funcFprint(outputio.Writer,fset*token.FileSet,nodeinterface{})

google-app-engine - 是否可以使用从不同版本构建的 Go 包?

我正在为GoogleAppEngine使用Go,它使用旧版本的Go。我想使用需要更新版本的Go(goauth)的第三方包。可以在我的GoogleAppEngine程序中使用该包吗?Goauth使用了strings.SplitN,它似乎没有出现在Go的GAE版本中。 最佳答案 恐怕必须破解oauth的源代码才能使其兼容。要么,要么你可以尝试联系作者,看看他们是否愿意发布与AppEngine的Go版本兼容的版本。第三种选择是找到与您的Go版本兼容的oauth的旧版本,然后只使用那个版本。 关

mysql - 如何使用 github.com/go-sql-driver/mysql 指定服务器的端口号?

我正在为MySQL使用以下包http://godoc.org/github.com/go-sql-driver/mysql#MySQLDriver.Open我的代码是:import("bufio""database/sql"_"github.com/go-sql-driver/mysql")db,err:=sql.Open("mysql","me_id:username@tcp(db1.abc.com)/dataname?timeout=2s")但我收到错误消息error:dialtcp:missingportinaddressdb1.abc.com无论如何我可以指定没有任何端口号的服

casting - 如何将未编码的 Golang 对象转换为指定变量的类型

我想将各种对象编码到文件中,然后解码它们,并通过获取编码的变量类型将它们转换回它们的原始类型。关键是我想将未编码的对象转换为指定变量的类型,而不指定类型。简短的伪代码://Marshalthisitem:=Book{"TheMythofSisyphus","AlbertCamus"}//Thenunmarshalandconverttothetypeoftheitemvariable.itemType:=reflect.TypeOf(item)newItemitemType=unmarshalledItem.(itemType)//Thisistheproblem.fmt.Printl

go - 无法检测到 go protobuf 的版本控制系统

在我的go项目上运行goget我收到以下错误消息:packagecode.google.com/p/goprotobuf/proto:无法检测code.google.com/路径的版本控制系统我什么都没有改变,这是怎么回事? 最佳答案 golangprotobuf项目已从googlecode移动至github.用于从ProtocolBuffer定义生成go代码的protoc版本已过时并使用旧导入。从github项目说明安装protoc-gen-go:https://github.com/golang/protobuf

object - 是否可以在golang中同时指定带变量的结构和接口(interface)?

我目前正在清理一些golang代码。该代码处理许多以相似方式运行并共享一些相似数据字段的结构。我想知道是否可以同时指定一个公共(public)结构和接口(interface)?像这样的东西:typeFoostruct{BarstringBarTheFoo()string}func(fFoo)FooBar()string{BarTheFoo()returnf.Bar}这意味着从Foo继承的任何其他结构都将在其中包含Bar变量,但它还应该实现自己的BarTheFoo()函数。知道所有Foo导数都有BarTheFoo(),我想在一个函数中使用它,我知道每个Foo导数看起来都一样。在Go中有这

go - 判断动态指定的Go变量是否有特定类型

我正在编写一个命令行应用程序,其中用户指定1)包含Go文件的目录,2)应该是http.Handler的变量名称,例如goruncli.go/path/to/a/go/libraryMyCustomHandler我正在努力解析文件找到给定名称的变量验证它是一个http.Handler我可以完成前两个没问题-我调用parser.ParseDir,然后将我想要的包作为*ast.Package获取,然后循环遍历它这个:funcfindHttpHandler(pkg*ast.Package,handlerNamestring)(*ast.FuncDecl,error){for_,file:=ra