Go 开发环境搭建和代码调试
写这篇笔记的目的,主要是分享我在Go学习中遇到的坑。让后面的学习者参考一下有用的经验。
其中有一些小技巧,对初学者来说,可能会大大节约填坑的时间。
比如如何设置vscode的Go调试器,Go的语法高亮,Go的插件下载加速和跨墙访问。
如果其他朋友有类似经验和技术,也不妨分享和交流,谢谢
目录
主要分为以下,三个部分
Part 1: Go环境的安装
Part 2: vs code的安装
Part 3: vs code 安装Go 开发环境
Part 4: vs code 配置Go 断点调试
正文
Part 1: Go环境的安装
step 2:
解压Go安装包,到自定义的安装目录,如下:
安装目录 = E:\Program Files\develop\runtime\go_1.13.4


新增环境变量GOROOT,如下

修改PATH变量,末尾增加GO的编译器路径“;%GOROOT%\bin",中间分隔符是【;】。

修改CLASSPATH变量,末尾增加GO的编译器路径“;%GOROOT%\lib",中间分隔符是【;】。

新增环境变量GOPATH,如下。备注:这个不是GOROOT目录,而是你所有GO项目代码的父目录。

step 4:
# 输出环境变量 GO语言的安装目录
CMD >> echo %GOROOT%
# 输出环境变量 GO源代码的工作目录
CMD >> echo %GOPATH%
# 输出GO语言版本
CMD >> go version

Part 2: vs code的安装
step 1:
下载vs code,官方安装包下载地址如下

Step 2
安装提示,选择要安装的目录,也可以自己修改目录,然后按照提示一路Next和OK按钮就可以了。
Part 3: vs code 安装Go 开发环境
Step 1
安装Go开发环境,常用的插件,如下
cmd >> go get -v golang.org/x/tools/gopls
cmd >> go get -v github.com/go-delve/delve/cmd/dlv" to install.
安装GoProxy插件,同时配置GoProxy加速代理地址。
因为默认的Go插件地址是github/xxx/{go 插件名称},是在国外所以下载速度很慢,同时也容易被墙。
所以,通过GoProxy插件和代理地址,我们可以在不改变go get -v命令的情况下,自动识别和快速下载github上的Go插件。
1. 环境变量,设置如下两个变量
CMD >> echo %GOPROXY%

Part 4: vs code 配置Go 断点调试
step 1
检查本地项目打开目录,是否正确
# 进入Go项目的工作目录,子目录为各个GO项目
cmd >> cd H:\go_work_git # 而不是直接到go项目目录
# cmd >> cd H:\go_work_git\Yearning
查看go_work_git目录应该为go的工作根目录,并且有src/bin/pkg等自动生成的全局GO子目录。

Step 2:
打开项目代码,如Yearning
方式1:打开根目录,所有项目的工作目录, 但是注意两者的debug下面配置
CMD >> cd H:\go_work_git
CMD >> code .
# 配置debug文件,路径为 = H:\go_work_git\Yearning\.vscode\launch.json

方式2:或 者直接打开具体的项目目录, 但是注意两者的debug下面配置
CMD >> cd H:\go_work_git\Yearning
CMD >> code .
# 配置debug文件,路径为 = H:\go_work_git\Yearning\.vscode\launch.json

Step 3:
按Ctrl+Shift+D., 弹出Run View界面,如下:
step 4:
单击上图的Run > Launch 绿色三角箭头,执行断点Debug,如下图:
其中F10表示逐步Debug,F11表示进入内部上一层代码Deug

# 配置debug文件,路径为 = H:\go_work_git\.vscode\launch.json

或 配置debug文件,路径为 = H:\go_work_git\.vscode\launch.json

附录:
在vscode中,调试go项目yearning,执行-m 初始化Yearning系统

Go 开发环境搭建和代码调试的更多相关文章
- spark JAVA 开发环境搭建及远程调试
spark JAVA 开发环境搭建及远程调试 以后要在项目中使用Spark 用户昵称文本做一下聚类分析,找出一些违规的昵称信息.以前折腾过Hadoop,于是看了下Spark官网的文档以及 github ...
- CUDA并行程序设计 开发环境搭建与远程调试
课题需要用到GPU加速.目前使用的台式电脑只有核心显卡,而实验室有一台服务器装有NVIDIA GTX980独显.因此,想搭建一个CUDA的开发环境,来实现在台式机上面开发cuda程序,程序在服务器而不 ...
- 【OpenStack】OpenStack系列1之OpenStack本地开发环境搭建&&向社区贡献代码
加入OpenStack社区 https://launchpad.net/,注册用户(597092663@qq.com/Admin@123) 修改个人信息,配置SSH keys.OpenPGP keys ...
- Eclipse + CDT + YAGARTO + J-Link,STM32开源开发环境搭建与调试
Eclipse+CDT+YAGARTO+J-Li:开源开发环境搭建与调试:作者:Chongqing:邮箱:ycq.no1@163.com:文档版本:V1.0:发布日期:2014-08-04:前言:此文 ...
- Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】
http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...
- Ionic2开发环境搭建、项目创建调试与Android应用的打包、优化
Ionic2开发环境搭建.项目创建调试与Android应用的打包.优化. windows下ionic2开发环境配置步骤如下: 下载node.js环境,稳定版本:v6.9.5 下载android stu ...
- electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google JavaScript Style Guide代码规范
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google ...
- 最新 obs-studio vs2019 开发环境搭建 代码编译
距离上一篇文章很久了,重新开始记录 OBS 开发相关情况,第一步就是环境搭建,第二步是构建 OBS-Studio VS 2019 开发环境搭建 下载软件和资源 软件安装没有特别说明的,下载安装即可. ...
- (转载)JAVA敏捷开发环境搭建
整个软件项目分为四个环境 开发本地环境.开发环境.测试环境.IDC环境.和传统C++开发不一样的模式是多了第一个开发本地环境.这是为什么呢,因为目前大部分开发人员还是比较熟悉windows下开发.对于 ...
随机推荐
- 树莓派3b+ 交叉编译 及升级 kernel
安装 gcc pkg 等工具sudo apt-get install build-essential git 官方介绍 https://www.raspberrypi.org/documentatio ...
- ECMAScript进化史(1):话说Web脚本语言王者JavaScript的加冕历史
互联网起火-Web时代的来临 在行文之前,反手就安利一下<浏览器史话中chrome霸主地位的奠定与国产浏览器的割据混战>. 浏览器始祖NCSA Mosaic在1993年1月发布(于1992 ...
- jadx初识
一.jadx介绍 一款相对流行的反编译工具 下载:https://github.com/skylot/jadx/releases/tag/v1.0.0 解压后得到这么几个文件: 启动:(以下来两个文件 ...
- 使用 Pandas 的 to_excel() 方法来将多个 csv 文件合并到一个 xlsx 的不同 sheets 内
这几天在用 Python3 研究一个爬虫,最后一个需求是把爬下来的20+个csv文件整合到一个excel表里的不同sheets. 初版的核心代码如下: while year <= 2018: c ...
- SOFARPC模式下的Consul注册中心
Consul大家不陌生,就是和Zookeeper.Nacos一伙的,能够作为微服务基础架构的注册中心,算是比较成熟的组件,和Springcloud集成顺滑, 考虑到Eureka已经停止更新,所以有必要 ...
- Windows软件包管理工具 - Chocolatey
概述 windows下的软件安装管理器(用于自动管理软件安装,更新,卸载) Chocolatey引入了真正的包管理概念,使您能够对事物进行版本控制,管理依赖关系和安装顺序,更好的库存管理以及其他功能 ...
- hackerone或PayPal转账到国内银行卡
1.首先hackerone会提示有W9那么一说,这个是美国人纳税的,我们是中国人不需要纳税的,只要给美国税务局发邮件说你是中国人不需要纳税就OK了.具体操作百度. 2.如此就会成功转账到你的PayPa ...
- babel-loader配置
1.npm i @babel/core.@babel/preset-env.@babel/runtime.@babel/plugin-transform-runtime.@babel/plugin-p ...
- 关于PS切图
现在前端项目中碰到越来越多的图片处理问题,虽然找自己公司UI小哥哥小姐姐可以解决,但是每次都找不仅要看别人有没有时间,更得看人家脸色 唉,自己摸索着来吧(多图,流量党请注意切换WiFi): 通常切图的 ...
- Aleax prize (开放域聊天系统比赛)2018冠军论文阅读笔记
Abstract Gunrock是一种社交机器人,旨在让用户参与开放域的对话.我们使用大规模的用户交互数据来迭代地改进了我们的机器人,使其更具能力和人性化.在2018年Alexa奖的半决赛期间,我们的 ...