常常会看到这种package,那么如何导入这种package呢?
首先我们需要知道golang 项目的工程组织规范
golang 项目的工程组织规范,
以及远程包/本地包
$GOPATH
├─bin
├─pkg
└─src
└─github.com(远程包)
└─golang.org(远程包)
└─your_pkg_src(本地包)
简要的说一说吧,以go-sqlite3为例,包的源码和项目中通常的引用方式为:
import github.com/mattn/go-sqlite3
那go get github.com/mattn/go-sqlite3下来的源码位置应为:
$GOPATH/src/github.com/mattn/go-sqlite3(这是物理路径)
同理如若网络问题导致需要手动下载包那就应该在src目录下建立同样的子目录将包存放到此处。
例如你的报错信息中有golang.org/x/net/context这个包,
因为golang.org的服务器是谷歌公司的,IP被封,你通过手动等方式下载回来的包因该存放到此处:
$GOPATH/src/golang.org/x/net/context
此处以使用go-echarts项目为例
代码如下
package main
import (
"math/rand"
"os"
"github.com/go-echarts/go-echarts/v2/charts"
"github.com/go-echarts/go-echarts/v2/opts"
)
// generate random data for bar chart
func generateBarItems() []opts.BarData {
items := make([]opts.BarData, 0)
for i := 0; i < 7; i++ {
items = append(items, opts.BarData{Value: rand.Intn(300)})
}
return items
}
func main() {
// create a new bar instance
bar := charts.NewBar()
// set some global options like Title/Legend/ToolTip or anything else
bar.SetGlobalOptions(charts.WithTitleOpts(opts.Title{
Title: "My first bar chart generated by go-echarts",
Subtitle: "It's extremely easy to use, right?",
}))
// Put data into instance
bar.SetXAxis([]string{"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"}).
AddSeries("Category A", generateBarItems()).
AddSeries("Category B", generateBarItems())
// Where the magic happens
f, _ := os.Create("bar.html")
bar.Render(f)
}
如果什么都不做
import
"github.com/go-echarts/go-echarts/v2/charts"
"github.com/go-echarts/go-echarts/v2/opts"
这两部分的时候就会报错
由go-echarts中的安装教程首先在goland的terminal中输入
go get -u github.com/go-echarts/go-echarts/v2/...
go get的使用在另外一篇博客里有提到
执行后,你将会看到文件夹会在$GOPATH/src/github.com/下自动生成,之后package的导入就没有问题了(详见golang 项目的工程组织规范)
goland项目一定要有以一个package main
参考:
https://www.oschina.net/question/86462_2191491?sort=time
https://blog.csdn.net/qq_23599965/article/details/78799545
|
请发表评论