• go环境 依赖管理 基本命令


    Go安装

    Go官网下载地址:https://golang.org/dl/

    Go官方镜像站(推荐):https://golang.google.cn/dl/

    选择Windows版本下载安装即可。

    查看 

    输入 go version 命令,查看安装的Go版本

    go env 查看 go 相关的一些配置

    GOROOT和GOPATH

    GOROOT 和 GOPATH 都是环境变量,其中 GOROOT 是我们安装go开发包的路径,而从Go 1.8版本开始,Go开发包在安装完成后会为 GOPATH 设置一个默认目录,并且在Go1.14及之后的版本中启用了Go Module模式之后,代码可以不写到GOPATH目录下面的src目录,所以就不需要再自己配置GOPATH了,使用默认的即可。

    GOPROXY

    默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct,国内访问不到https://proxy.golang.org,所以换一个PROXY,

    使用 https://goproxy.io 或 https://goproxy.cn

    go env -w GOPROXY=https://goproxy.cn,direct

    GO111MODULE

    GO111MODULE=off  不使用 modules 功能。
    GO111MODULE=on  使用 modules 功能,不会去 GOPATH 下面查找依赖包。
    GO111MODULE=auto  Golang 自己检测是不是使用 modules 功能。

    go get

    go get 命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译和安装:第一步是下载源码包,第二步是执行 go install

    默认情况下,go get 可以直接使用:go get 地址 。go get下载的依赖包会放到GOPATH 目录下。

    go module

    go官方自带的go依赖管理库,go module可以将项目下的所有依赖整理成一个 go.mod 文件,里面写入了依赖的版本等。

    项目初始化,生成 go.mod 文件

      go mod init 项目名称

    检测依赖,tidy会检测该文件夹目录下所有引入的依赖,写入 go.mod 文件

      go mod tidy

    下载依赖,会将依赖全部下载至 GOPATH 下的pkg/mod文件夹中,同时会在项目根目录下生成 go.sum 文件, 该文件是依赖的详细情况。

      go mod download

    导入依赖,会将下载至 GOPATH 下的依赖转移至该项目根目录下的 vendor(自动新建) 文件夹下,实际不导入也可以。导入了需要添加到git .gitignore名单上。

      go mod vendor

    go mod init  # 初始化go.mod
    go mod tidy  # 更新依赖文件
    go mod download  # 下载依赖文件
    go mod vendor  # 将依赖转移至本地的vendor文件
    go mod edit  # 手动修改依赖文件
    go mod graph  # 打印依赖图
    go mod verify  # 校验依赖

    编译

    go build 命令表示将源代码编译成可执行文件。

    可以项目根目录直接执行,或在其他目录执行,加上项目名称:go build name。

    指定编译出来的文件名字:go build -o heiheihei.exe

    go run

    go run main.go 可以执行程序,该命令本质上也是先编译再执行。

    vscode 在打开的main.go文件时直接 F5 也可以运行调试。

    Windows编译Linux可执行文件

    如果我想在Windows下编译一个Linux下可执行文件,那需要怎么做呢?只需要在编译时指定目标操作系统的平台和处理器架构即可。

    注意:无论你在Windows电脑上使用VsCode编辑器还是Goland编辑器,都要注意你使用的终端类型,因为不同的终端下命令不一样!!!目前的Windows通常默认使用的是PowerShell终端。

    如果你的Windows使用的是cmd,那么按如下方式指定环境变量。

    SET CGO_ENABLED=0  // 禁用CGO
    SET GOOS=linux  // 目标平台是linux
    SET GOARCH=amd64  // 目标处理器架构是amd64
    

    如果你的Windows使用的是PowerShell终端,那么设置环境变量的语法为

    $ENV:CGO_ENABLED=0
    $ENV:GOOS="linux"
    $ENV:GOARCH="amd64"
    

    在你的Windows终端下执行完上述命令后,再执行下面的命令,得到的就是能够在Linux平台运行的可执行文件了。

    go build
    

    Windows编译Mac可执行文件

    Windows下编译Mac平台64位可执行程序:

    cmd终端下执行:

    SET CGO_ENABLED=0
    SET GOOS=darwin
    SET GOARCH=amd64
    go build
    

    PowerShell终端下执行:

    $ENV:CGO_ENABLED=0
    $ENV:GOOS="darwin"
    $ENV:GOARCH="amd64"
    go build
    

    Mac编译Linux可执行文件

    Mac电脑编译得到Linux平台64位可执行程序:

    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
    

    Mac编译Windows可执行文件

    Mac电脑编译得到Windows平台64位可执行程序:

    CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
    

    Linux编译Mac可执行文件

    Linux平台下编译Mac平台64位可执行程序:

    CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
    

    Linux编译Windows可执行文件

    Linux平台下编译Windows平台64位可执行程序:

    CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

    VS CODE

    安装go扩展,会提示安装其他工具包,install,或直接Ctrl+Shift+P 输入 go instal,选择Go:Install/Update Tools这个命令。

    安装很可能失败

     gocode-gomod
    
    Installing github.com/stamblerre/gocode@latest FAILED
    {
     "killed": false,
     "code": 1,
     "signal": null,
     "cmd": "H:\\Program Files\\Go\\bin\\go.exe get -x -d github.com/stamblerre/gocode@latest",
     "stdout": "",

    可以手动安装,一个一个安装...

    go get github.com/stamblerre/gocode@latest
    go install github.com/stamblerre/gocode@latest

    终端处选择默认工具,默认是powershell,可以选择为cmd

  • 相关阅读:
    css添加方法
    node + vue 实现服务端单向推送消息,利用EventSource
    获取公众号openid,通过unionid 和小程序用户绑定起来
    小程序 构建npm
    powershell禁止系统运行脚本
    mongoose 删除
    mongoose 查询
    moogoose 更新
    小程序,用户授权手机号,node需要检验和解析
    小程序:支付的时候缺少参数:total_fee,支付失败
  • 原文地址:https://www.cnblogs.com/jiayouba/p/16194616.html
Copyright © 2020-2023  润新知