当前位置: 首页 > article >正文

Go环境搭建(vscode调试)

文章目录
  • 下载
  • 安装
  • 环境变量与包管理(重要)
  • 创建项目
  • VScode配置与debug

下载

首先下载go环境

下载

go下载
我这里选择的是Windows的64位免安装版本。

安装

我们下载的免安装版本,直接解压就可以

goroot目录

环境变量与包管理(重要)

配置GOROOT就可以:
GOROOT配置

在把go的bin目录加入到path之中:
go bin

GOPATH主要是用来存放非标准包(三方包、我们自己的项目)

go get和go intall下载的三方包就会安装到GOPATH中。

代码import包首先会从GOROOT/src(标准库)中查找,如果没有找到GOPATH/src(三方库)中查找。

这种包管理模式和Python有点像,但是有点问题,会像Python一样容易包管理混乱。

所以,1.11引入了moudle模式,使用go.mod来管理包

推荐使用moudle模式,这样三方包就在$GOPATH/pkg/mod目录下,可以允许有多个不同的版本,多个项目都可以共享。

这就有点像Java的包管理模式了,不用每个项目都去处理GOPTH,也不需要每个项目都去下载相同的三方包了。

go get github.com/PuerkitoBio/goquery

安装目录

# 查看所有环境变量
go env

# 开启moudule模式
go env -w GO111MODULE=on
# 使用七牛云代理
go env -w GOPROXY=https://goproxy.cn,direct

创建项目

# 使用module模式创建项目
go mod init project-name


# 整理依赖,补全使用、删除未使用依赖
go mod tidy

目录结构

package main

import "fmt"

func main()  {
	fmt.Println("hello world")
}

接下来就构建、运行都可以了:

go build base.go
go run base.go

mod依赖:
mod 依赖

VScode配置与debug

vscode直接写go代码不太方便,可以安装go插件:

Go插件

为了方便调试,可以安装Go工具(安装后可以不用自己配置launch和task):

安装go工具

如果出现go.tools.intall not found 可以重启一下VScode,确保path中go的bin目录配置正确。

安装工具错误

安装完会多一个GO的查看目录:

go 工具目录

按F5调试,提示我们还需要安装dlv,install就可以:

dlv工具

从日志我们可以看到安装了2个tool,我们没有配置GOPATH,默认使用的是用户目录下的go目录:

安装日志

最后我们就可以愉快的debug了:

debug


http://www.kler.cn/a/512500.html

相关文章:

  • Golang的文件处理优化策略
  • Ubuntu22部署MySQL5.7详细教程
  • 如何在oracle关闭情况下如何修改spfile的参数
  • Java虚拟机面试题:内存管理(中)
  • 数据结构-队列
  • Spring Boot 项目启动报错 “找不到或无法加载主类” 解决笔记
  • C ++ 也可以搭建Web?高性能的 C++ Web 开发框架 CPPCMS + MySQL 实现快速入门案例
  • docker 安装 nanomq
  • 深入探索Python人脸识别技术:从原理到实践
  • 202209 青少年软件编程等级考试C/C++ 二级真题答案及解析(电子学会)
  • HTML知识点复习
  • 【无法下载github文件】虚拟机下ubuntu无法拉取github文件
  • dubbo 的 spi 思想是什么?
  • [前端算法]排序算法
  • C#使用WMI获取控制面板中安装的所有程序列表
  • ChatGPT 4:解锁AI文案、绘画与视频创作新纪元
  • MySQL篇之对MySQL进行参数优化,提高MySQL性能
  • YOLOv9改进,YOLOv9检测头融合RFAConv卷积,适合目标检测、分割任务
  • YOLOv11改进,YOLOv11检测头融合DiverseBranchBlock(多样分支块),并添加小目标检测层(四头检测),适合目标检测、分割等任务
  • 国内汽车法规政策标准解读:GB 44495-2024《汽车整车信息安全技术要求》
  • Ubuntu 安装 docker 配置环境及其常用命令
  • SQLite 3.48.0 发布,有哪些更新?
  • 【K8S系列】在 K8S 中使用 Values 文件定制不同环境下的应用配置
  • 【深度学习】2.视觉问题与得分函数
  • JavaScript笔记APIs篇03——DOM节点Bom操作本地存储正则表达式
  • Ant Design Vue 的 a-input-number 组件限制最小值和最大值