使用vscode 开发go项目的最新姿势. go版本1.14.2
使用了go 1.14.2. 版本, 再也不用建src, pkg, bin 目录了, 以及再也不用强制配置GOPATH了
前提条件:
必须是 go mod 项目.
在工程目录下, 执行这样的命令生成一个mod文件
go mod init example.com/user/hello
最新的项目结构:
这个工程是建立再本地磁盘的任意地方的.
vscode调试工程配置: launch.json
- {
- // 使用 IntelliSense 了解相关属性。
- // 悬停以查看现有属性的描述。
- // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
- "version": "0.2.0",
- "configurations": [
- {
- "name": "Launch",
- "type": "go",
- "request": "launch",
- "mode": "auto",
- "program": "${workspaceFolder}",
- "env": {},
- "args": []
- }
- ]
- }
go.mod 文件:
- module example.com/user/hello
- go 1.14
- require github.com/google/go-cmp v0.4.0
非调试模式运行项目:
在工程根目录下新建一个run.sh文件,内容如下:
支持Windows的版本: run.bat
- @echo off
- chcp 65001
- set projectPath=%~dp0
- set GOBIN=%projectPath%
- cd /d %projectPath%
- REM 获取模块名
- for /F %%i in ('go list -m') do ( set module=%%i)
- REM 获取生成的二进制文件名
- set lj=%module%
- set "lj=%lj:/= %"
- for %%i in (%lj%) do set binFileName=%%i
- echo "工程目录:" %projectPath%
- echo "执行文件:" %projectPath%/%binFileName%
- go install
- %binFileName%
在任意地方都可以跑这个项目了:
运行示例1:在非项目下执行
运行示例2: 直接在项目目录下执行
输出的二进制文件名是module名 最后一个斜杠后面的字符串. 可以不用加路径.
如go mod init hello 那么输出的二进制文件是hello
如go mod init gitlab.com/dzq/hello 那么输出的二进制文件也是hello
模块名可以和项目目录名不一致, 但是建议 模块名和目录名一致, 方便理解.
在项目目录 go import 的字符串 应该是 模块名加上包名, 不是项目目录加上包名
对应的go.mod文件:
新版本省了很多事情, 再也不担心因为环境问题,报错了.
使用vscode 开发go项目的最新姿势. go版本1.14.2的更多相关文章
- vsCode开发flutter项目
Visual Studio Code 安装: 下载链接:https://code.visualstudio.com/ 下载完成后根据步骤自行安装. 使用vsCode开发flutter项目需要部 ...
- 配置VSCode开发Vue项目
一.安装VSCode.NodeJS VSCode:https://code.visualstudio.com/ NodeJS:https://nodejs.org/en/ 二.打开VSCode,安装常 ...
- VScode开发Vue项目,关闭eslint代码检查,以及相关配置
Vue初始化项目时如果不小心安装了js 语法检测 功能,撸码时一个空格不对就会各种报错 个人感觉这个语法检测功能很有点过于严格,用起来十分难受,所以果断关闭eslint,找到webpack.base. ...
- vscode开发vue项目保存时自动执行lint进行修复
vscode下载eslint插件 vscode进行设置 找到settings.json 在里面写入如下内容进行保存 { "eslint.autoFixOnSave": tr ...
- 使用vsCode开发vue项目格式化通用配置
{ "editor.tabSize": 2, "editor.fontSize": 18, "editor.wordWrap": ...
- 解决vscode开发react项目没有html标签自动补全
怎么设置自动补全: 左下角齿轮按钮--设置-- 在搜索框中输入Include Languages,选择Emmet,并在Emmet:include language下点击在setting.json中编辑 ...
- Mac中如何搭建Vue项目并利用VSCode开发
(一)部署Node环境 (1)下载适合Mac环境的Node包,点击进入下载页面 (2)安装Node环境:找到下载好的Node包,这里是node-v12.14.1.pkg,我们双击它,会进入Node.j ...
- vscode 开发.net core 从安装到部署 教程详解
一:环境准备: windows系统需要 win7 sp1 / windows 8 / windows 2008 r2 sp1 / windows10: 其他版本的windows系统在安装.NET C ...
- VSCode搭建django项目
之前我们使用VSCode搭建C#项目,今天写一篇关于django项目的搭建,其实以其说是搭建django框架,不如说是如何通过vscode开发django项目:django官网:https://www ...
随机推荐
- 6.Linux常用命令(重点)
(1)ls 查看当前目录下的目录和文件 查看当前目录下所有目录和文件 ls -l会将目录和文件竖着排,并且可以提供文件数据 上图最左边以“d”开头的是目录,以“-”开头的是文件.后面是文件和目录的权限 ...
- [微信营销企划之路]003.Access forbidden!
引言 继<[微信营销企划之路]001.环境搭建(XAMPP+WeiPHP)>后,有不少朋友反应按照001教程配置虚拟多站点(<VirtualHost/>)后,部分站点会出现Ac ...
- [工具-005] C#如何绑定HotKey
由于某种需要,需要做一个控制鼠标在屏幕乱点的程序,运用C#的 [DllImport("user32.dll")] private static extern int mo ...
- [微信营销企划之路]001.环境搭建(XAMPP+WeiPHP)
引言 本系列适合0基础的人员,因为我们就是从0开始的,此系列记录我们步入微信营销企划并进行开发的一些经验分享,望与君共勉!作为刚刚踏入微信队伍中的新人的我们,如果有什么不对的地方,还望不吝赐教. 在开 ...
- LM NTML NET-NTLM2理解及hash破解
LM Windows Vista / Server 2008已经默认关闭,在老版本可以遇到,但根据windwos的向下兼容性,可以通过组策略启用它(https://support.microsoft. ...
- 公司如何通过电脑监控来规范员工行为-iis7服务器管理功能教程
现在员工办公基本都用电脑,而电脑不仅仅可以用来处理工作,还可以上网.娱乐等.往往很多员工的自制能力比较差,在工作时间和人聊天,浏览购物网站,看新闻,炒股等休闲娱乐上花费大量的时间,导致工作效率降低,影 ...
- Chisel3 - 基本数据类型
https://mp.weixin.qq.com/s/bSrM-wLRn7O_75xYKeoaEQ Chisel中的基本数据类型,不是Verilog中的Wire和Reg.Wire和Register ...
- brpc长连接问题
问题: 使用了brpc的长连接,但是为何耗时和短链接一样呢? brpc文档里介绍,使用http协议,则默认使用pooled,只要连接数不超过max_connection_pool_size,则都可以使 ...
- JAVASE(十一) 高级类特性: abstract 、模板模式、interface、内部类、枚举、注解
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.关键字 abstract 1.1.abstract可以修饰:类,方法 1.2.abstract修饰方 ...
- Java实现 蓝桥杯 算法提高 GPA(暴力)
试题 算法提高 GPA 问题描述 输入A,B两人的学分获取情况,输出两人GPA之差. 输入格式 输入的第一行包含一个整数n表示A的课程数,以下n行每行Si,Ci分别表示第i个课程的学分与A的表现. G ...