Go package

磨刀不误砍柴工

在实现自定义package文件之前,我们先了解一下GOROOT和GOPATH。

  • GOROOT 指向系统安装路径
  • GOPATH指向工作路径

其中Go语言源代码和编译的中间文件、目标文件存放位置如下:

C:\Go    <<--- GOROOT 指向的位置
    --src                 <<--- Go 语言自带的源代码
    --pkg                 <<--- 编译的中间文件放在此文件夹
    --bin                 <<--- 编译的目标文件放在此文件夹
D:\MyWorks  <<--- GOPATH 指向的位置
    --src                 <<--- 项目源代码放置在此文件夹。!!!警告:一个常犯的错误是把 GOPATH 指向此处!!!
        --HelloWorld      <<--- 我们项目源代码所在的文件夹。!!!警告:一个常犯的错误是把 GOPATH 指向此处!!!
        --vendor          <<--- 第三方开源代码文件夹
            --github.com
                --...
    --pkg                 <<--- 编译的中间文件放在此文件夹,Go编译器自动生成此文件夹
    --bin                 <<--- 编译的目标文件放在此文件夹,Go编译器自动生成此文件夹
--------------------- 
作者:quicmous 
来源:CSDN 
原文:https://blog.csdn.net/quicmous/article/details/80360126 
版权声明:本文为博主原创文章,转载请附上博文链接!
1.自定义Package

go 自定义package和py有一点区别,因为go引用package的时候,package必须正src目录。否则包含会失败。所以如果我们使用自定义包的时候,目录结果需要时src/xxxpackage
在这里插入图片描述
当包定义好了之后,需要把包增加到GOPATH路径下面,但是注意我们增加自定义包的时候只需要增加到src上一层目录即可。因为系统会默认增加src/xxxpackage。

set GOPATH =%PATH%;D:\calcproj\

如果是GoLand IDE情况下,那么请在file=>settings里面设置GOPATH
在这里插入图片描述

2.引用用第三方包(git)

直接import第三方(git)包即可(需要安装git):

import (
	"encoding/hex"
	"encoding/json"
	"fmt"
	"github.com/shiyanhui/dht"
	"net/http"
	_ "net/http/pprof"
)

不过有时候可能会获取失败(变现找不到该package),此时我们可以通过手动get:

go get github.com/shiyanhui/dht

此时就会引入第三方包了。

猜你喜欢

转载自blog.csdn.net/CAir2/article/details/88296101