GO语言包管理速查指南

mac2024-02-23  42

常见范式 import "fmt" 如果是多个package(常见) 则import( "fmt" "os" ) 怎么调用包呢? 一般来说,遵循约定,比方说包路径的为"crypto/rand"的包一般调用为rand.xx 但是注意的是,最终我们还是要根据源文件的package信息来决定我们的调用,比如对于import "github.com/json-iterator/go", 看起来我们应该用go.xx调用,但是其源文件声明是package jsoniter,所以我们还是要结合具体情况判断如果出现重复的包名怎么办? 这种情况并不少见,我们可以通过重命名的方式来解决,如下述代码import( "crypto/rand" mrand "math/rand" ) 有时候我们看见包前面有_,如_ "image/png",这是用做什么的呢? 有些时候,我们导入某个包不是为了调用,而是希望1.对包中变量初始化表达式求值 2.执行包中的init()函数 但是我们知道go中不允许导入不使用的包,因此引入_来解决这个问题为什么有些时候我们从网上clone下来的代码不能跑起来,提示说包找不到? 具体情况具体分析,不过其实go build构建的时候会从两个地方寻找,一个是$GOPATH/src一个是$GOROOT/src,我们一般不会更改$GOROOT,但是我们可以更改$GOPATH来更改工作空间,或者说我们可以把网络代码移到原先的GOPATH指定的地方,我们可以用go env查询相关的信息 注意,通过go get xx下载的包会存储在$GOPATH/src下go get gopl.io/...和go get gopl.io有什么区别? 前者不仅仅下载gopl.io还会下载子树以及仓库
最新回复(0)