zoukankan      html  css  js  c++  java
  • go语言包管理

    要构建Go语言的编译环境,首先得安装Go语言的编译工具

    官方路径:https://golang.google.cn/dl/,一般是访问不了,使用国内网站:https://studygolang.com/dl
    然后需要设置环境变量
    在windows下需要将go编译器的安装路径加到Path,还要设置GOROOT和GOPATH变量,分别对应GO安装目录和项目下的src目录。

    GO包管理一般有两种方式:GOPATH方式和GO Module方式
    GOPATH方式是GO原生支持的方式,一般要求项目下包含三个目录:
    bin:放置可执行文件
    pkg:放置编译生成的lib包
    src:放置源码,go编译查找源文件目录
    例如项目结构如下:

     一般源文件的包名就是所在的文件夹名,如果在main函数中要调用algorithms中的qsort中的函数,只需要import文件即可,路径为GOPATH/src下的路径:

    如果需要导入github上的开源代码,直接import项目的url链接即可,并且需要go get导入到本地路径,go会自动在src目录下生成github.com目录。

    Go Module管理方式
    Go Module方式是golang1.11新增的特性,直接基于模块管理,而不是基于固定目录
    要使用Go Module,需要先设置go变量GO111MODULE=on
    要注意Go Module方式跟GOPATH方式不兼容,项目路径不能在GOPATH里。

    在项目中不需要src目录,使用go mod init建立mod管理,会自动在项目下生成go.mod文件,如果需要依赖第三方代码,除了在项目中import之外,还需要使用go mod download下载包

    go.mod文件示例:

     在项目中引用库,本地库必须带上项目路径:

    go mod常用命令:

    命令

    说明

    download

    download modules to local cache(下载依赖包)

    edit

    edit go.mod from tools or scripts(编辑go.mod

    graph

    print module requirement graph (打印模块依赖图)

    init

    initialize new module in current directory(在当前目录初始化mod)

    tidy

    add missing and remove unused modules(拉取缺少的模块,移除不用的模块)

    vendor

    make vendored copy of dependencies(将依赖复制到vendor下)

    verify

    verify dependencies have expected content (验证依赖是否正确)

    why

    explain why packages or modules are needed(解释为什么需要依赖)

  • 相关阅读:
    连接MySQL错误:Can't connect to MySQL server (10060)
    PHP性状的使用
    PHP interface(接口)的示例代码
    jquery 设置页面元素不可点击、不可编辑、只读(备忘)
    ace_admin_1.3.1 wysiwyg 工具条下拉出不来
    类函数和对象函数 PHP
    PHP 回调、匿名函数和闭包
    simplexml_load_file 抑制警告的直接输出
    jQuery判断当前元素是第几个元素
    hihocoder #1445 : 后缀自动机二·重复旋律5
  • 原文地址:https://www.cnblogs.com/lxx-coder/p/12996823.html
Copyright © 2011-2022 走看看