zoukankan      html  css  js  c++  java
  • 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   
    
  • 相关阅读:
    [BZOJ-1007&洛谷P3194][HNOI2008]水平可见直线--【半平面交(单调栈)】
    [BZOJ-1006&洛谷P3196][HNOI2008]神奇的国度--【图的染色-最大势MCS算法】
    [BZOJ-1005&洛谷P2624][HNOI2008]明明的烦恼-【Purfer序列】py+java
    [BZOJ1211 & 洛谷P2290] [HNOI2004]树的计数-【Purfer序列】py+Java
    【BZOJ-1004&洛谷P1446】[HNOI2008]Cards-置换群(burnside引理|DP)
    POJ-2409 Let it Bead 【置换群-Polya定理】
    Dijkstra--POJ 2502 Subway(求出所有路径再求最短路径)
    二分--LIGHTOJ 1088查找区间(水题)
    二分--1043
    二分---LIGHTOJ 1062
  • 原文地址:https://www.cnblogs.com/morang/p/8588013.html
Copyright © 2011-2022 走看看