go get 用于获取第三方库。
$ go get -u github.com/cch123/elasticsql
查看 $GOPATH (省略了部分内容):
$ tree .
.
├── bin
│ └── hello
├── pkg
│ └── darwin_amd64
│ └── github.com
│ └── cch123
│ └── elasticsql.a
└── src
├── github.com
│ ├── cch123
│ │ └── elasticsql
│ │ ├── LICENSE
│ │ ├── glide.lock
│ │ ├── glide.yaml
│ │ ├── main.go
│ │ ├── readme.md
│ │ ├── select_agg_handler.go
│ │ ├── select_handler.go
│ │ ├── select_test.go
│ │ └── unsupported.go
│ └── xwb1989
│ └── sqlparser
│ ├── CONTRIBUTORS.md
│ ├── LICENSE.md
│ ├── Makefile
│ ├── README.md
│ ├── analyzer.go
│ ├── analyzer_test.go
└── hello
├── hello.go
└── utils.go
可以发现:
- pkg 目录下针对 mac 平台生成了 elasticsql 的静态库。
src/github.com/
下除了我们想要的cch123/elasticsql
,还出现了xwb1989/sqlparser
目录。为什么?因为 elasticsql 的代码中引用了它,例如select_agg_handler.go:
import (
"encoding/json"
"errors"
"strings"
"github.com/xwb1989/sqlparser"
)