我有一个想法,我想对数据库/ sql go包进行一些小的添加.我想尝试我的更改,看看它是如何工作的.
我以为我能够执行此命令来获取我可以使用的数据库/ sql中的源代码副本:
go get github.com/golang/go/tree/master/src/database/sql
Run Code Online (Sandbox Code Playgroud)
然后,我要改变我的import语句
import "database/sql"
Run Code Online (Sandbox Code Playgroud)
至
import "github.com/golang/go/tree/master/src/database/sql"
Run Code Online (Sandbox Code Playgroud)
并将调试Printf放在我的本地代码副本中,以确认我刚刚执行的新代码正在执行而不是/ usr/local/go中的代码.
当我尝试上面的"go get"命令时,我收到以下错误消息:
$ go get github.com/golang/go/tree/master/src/database/sql
package github.com/golang/go/tree/master/src/database/sql: cannot find package "github.com/golang/go/tree/master/src/database/sql" in any of:
/usr/local/go/src/github.com/golang/go/tree/master/src/database/sql (from $GOROOT)
/Users/me/go/src/github.com/golang/go/tree/master/src/database/sql (from $GOPATH)
$ echo $GOPATH
/Users/me/go
$
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?
我也尝试过这个来源
https://go.googlesource.com/go/+/release-branch.go1.6/src/database/sql
Run Code Online (Sandbox Code Playgroud)
那也行不通.然后我尝试从上面的链接下载源代码的tgz,并在我自己的$ GOPATH/src/github.com/database/sql文件夹中解压缩这些文件,然后在那里构建它们.这产生了一个运行的sql.a,但没有用.
您可以从源代码构建Go,然后在适当的位置修改标准库,也可以提供该特定包.
如果您从源代码安装了Go,则在编辑该软件包后,您可以像安装任何其他软件包一样安装新版本 go install database/sql
如果将database/sql程序包复制到vendor目录中,则将构建并导入该副本以代替标准库中的版本.