zoukankan      html  css  js  c++  java
  • go安装以及使用gomod、 goland设置

    go安装以及使用gomod、 goland设置

     

    一、 安装go

           1. 官网下载go安装包,按照指引安装即可,

           2. 推荐使用go1.12版本 ,它新增加了go mod用来管理依赖,并且不需要我们再刻意设置gopath环境变量

           3. 默认go会将$HOME/go目录作为gopath,所有项目下载的依赖包都会存放在这个目录下,我们不用再关心它。

               与python pip类似,默认pip会将HOME/.pipgoHOME/.pip这个目录作为缓存目录,go会将HOME/go作为缓存目录,在这个目录同样可以更改,只需要在环境变量设置即可,如下:

           4. 由于墙的原因,部分官方依赖无法下载,我们可以使用代理,设置如下:

    复制代码
    linux:
    export GOPATH=/usr/local/gopath
    export GOPROXY=https://goproxy.io


    windows: 添加环境变量
    GOPATH=D:gopath
       GOPROXY=https://goproxy.io
    复制代码

    二、 使用go mod

            1. 任意目录创建项目目录

                mkdir /home/mygo

            2. 进入到项目目录

               cd  /home/mygo

            3. 初始化生成go.mod 文件

               go mod  init mygo   (这里mygo名字也可以叫其他名字,一般为了与项目名称对应,就用项目名字)

            4. 项目目录下会生成go.mod文件, 类似于python的requirements.txt文件。同时也生成一个go.sum文件,主要记载了下载包的哈希值用于校验,我们用不到。

            5. go.mod文件一旦创建后,它的内容将会被go toolchain全面掌控。

                go toolchain会在各类命令执行时,比如执行go get、go build、go run、go mod等命令时,自动修改和维护go.mod文件,这点跟pip还是有区别的

            6. go.mod 提供了modulerequirereplaceexclude 四个命令

    •   module 语句指定包的名字(路径)
    •   require 语句指定的依赖项模块
    •   replace 语句可以替换依赖项模块
    •   exclude 语句可以忽略依赖项模块
    • 复制代码
      $ cat go.mod
      
      module mygo
      
      go 1.12
      
      require (
          github.com/labstack/echo v3.3.10+incompatible // indirect
          github.com/labstack/gommon v0.2.8 // indirect
          github.com/mattn/go-colorable v0.1.1 // indirect
          github.com/mattn/go-isatty v0.0.7 // indirect
          github.com/valyala/fasttemplate v1.0.0 // indirect
          golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a // indirect
      )
      复制代码

            7. 可以使用命令 go list -m -u all 来检查可以升级的package,

                使用go get -u need-upgrade-package 升级后会将新的依赖版本更新到go.mod文件中。

                也可以使用 go get -u 升级所有依赖。

           8. 由于某些已知的原因,并不是所有的package都能成功下载,比如:golang.org下的包。

               可以在 go.mod 文件中使用 replace 指令替换成github上对应的库,来下载相应的包。比如:

              

    复制代码
    replace (
        golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 => github.com/golang/cryptov0.0.0-20190701094942-4def268fd1a4
     )

    或者:
    replace golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 => github.com/golang/crypto v0.0.0-20190701094942-4def268fd1a4
    复制代码

         9. 设置goland

          https://www.cnblogs.com/congccy/p/10762257.html

  • 相关阅读:
    HTML元素事件说明
    JQuery基本方法介绍和使用
    Eclipse设置注释模板
    AJAX回调(调用后台方法返回数据)
    Hibernate常用增删改查方法
    C memset
    PAT-Top1002. Business (35)
    PAT-Top1001. Battle Over Cities
    聂老师的考验(反向bfs)
    CSUST选拔赛题解
  • 原文地址:https://www.cnblogs.com/cy1993/p/13267483.html
Copyright © 2011-2022 走看看