• Windows下GO的开发环境配置及多工作区配置


    本文主要内容如下几点:

    1. 下载安装GO
    2. 配置多个工作区,第一个默认放第三方包,其他的放项目代码
    3. 包管理器godep的安装使用
    4. 安装过程中的一些坑(墙)
    5. vscode中使用go

    1. 下载并安装go

    官网下载 或者golang中国下载
    默认安装到C:GO,使用go version查看版本:
    图片
    当前版本为:1.10

    2. 新建工作区

    图片

    1. 新建两个文件夹
      DepSourcesrc:放置go依赖包的源代码
      GoCodingsrc:放置自己或者测试项目的代码目录
    2. 将这两个文件夹的路径以及对应的bin按顺序配置到环境变量GOPATH中,新建系统变量GOPATH,然后值为:C:GoWorksDepSource;C:GoWorksGoCoding;C:GoWorksDepSourcein;C:GoWorksGoCodingin; 盘符请自行修改
    3. %GOPATH%配置到系统变量path

    在家里面电脑重新配置了下,Go安装在了D盘,GOPATH配置到了E盘,如下图所示

    • 文件夹
      图片
    • 环境变量
      图片

    3. 安装包管理器godep

    3.1 下载

    1. 获取godep包:go get -v github.com/tools/godep -v 显示日志输出 -u 更新到最新版本
    2. 下载完成后查看C:GoWorksDepSourceingodep.exe是否存在godep.exe,有则安装成功
    3. 根据GodepsGodeps.json配置还原依赖包

    如果项目中有GodepsGodeps.json,则可以使用godep get安装所需依赖包

    3.2 生成go项目的依赖配置文件

    1. 新建一个go项目oneGo(GoCodingsrconeGO),创建main.go文件,并引入一个测试包,并打开cmd到当前路径
      package main
      
      import (
          test "github.com/yimogit/gotest"
      )
      
      func main() {
          test.HelloWord()
      }
      
      
    2. 安装测试的包:go get -v github.com/yimogit/gotest
    3. 构建依赖配置:godep save
    4. success,若成功则看到oneGo文件夹下生成了Godeps,vendor文件夹
    5. 运行:go run main.go,则控制台输出Hello Word
    6. 打包exe则使用 go build -o test.exe

    4.在安装go框架gin的时候会有一些依赖包需要手动安装一些包

    开始执行godep save构建依赖配置文件,第一次使用这个命令的话会报一堆缺少github.com/*/*包的错误,安装即可 错误图一览
    当遇到godep: Package (golang.org/x/sys/unix) not found,即从golang.org下载包失败的时候(如果你能成功算我没说),需要改变路径从GitHub去下载(墙了,然后go在GitHub放了一份~)
    具体解决方案为:
    在之前设置的GOPATH路径(C:GoWorksDepSourcesrc)新建golang.orgx文件夹,然后克隆或者下载sys包
    完整命令(自行修改路径):git clone https://github.com/golang/sys.git C:GoWorksDepSourcesrcgolang.orgxsys
    在安装过程若出现包下载失败的情况可以直接使用clone命令下载到github.com文件夹,然后执行go get github.com/x/x就能够安装了

    5. vscode中使用需要安装的依赖包

    安装扩展:vscode-go
    安装依赖:可以根据vscode的提示或者直接安装下面这些依赖包,更多介绍可参考VsCode中配置GO开发环境

    go get -u -v github.com/nsf/gocode      
    go get -u -v github.com/rogpeppe/godef      
    go get -u -v github.com/golang/lint/golint   
    go get -u -v github.com/lukehoban/go-find-references   
    go get -u -v github.com/lukehoban/go-outline        
    go get -u -v sourcegraph.com/sqs/goreturns          
    go get -u -v github.com/tpng/gopkgs     
    go get -u -v github.com/newhook/go-symbols      
    go get -u -v github.com/peterh/liner 
    go get -u -v github.com/derekparker/delve/cmd/dlv   
    
  • 相关阅读:
    绿色版的Linux.NET——“Jws.Mono”
    警惕!高版本VS发布时预编译导致Mono中Razor找不到视图
    用迭代实现无限级分类
    如何让我们的PHP在Jexus中跑起来
    Linux.NET实战手记—自己动手改泥鳅(下)
    umei-spider
    selenium-爬取小说
    filter() 函数
    字典,元组,列表,字符串互相转换
    Python实用黑科技——解包元素(2)
  • 原文地址:https://www.cnblogs.com/morang/p/8588013.html
Copyright © 2020-2023  润新知