• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

使用go get导入github上的package

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

常常会看到这种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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
区块链技术语言(二十八)——Go语言并发编程(下)发布时间:2022-07-10
下一篇:
go 网络数据包分析(1)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap