使用 VSCode 开发 Golang 代码,并支持 debug断点调试

news/2024/7/16 10:28:07 标签: vscode, golang, ide

背景

Go 自2012年发布至今,由于其出色的性能与并发处理能力,已经被各大互联网公司应用到成熟的产品服务上,目前本人从事项目的后端服务已经从Python全部切换到Go。

于是决定跟后端大佬系统的学习一下Golang语言,然后将自己学习过程中遇到的问题和感悟记录下来,方便自己后续巩固学习和有需要的同学借鉴经验。

开发环境

1. 安装 Golang 环境

访问 golang 官网下载环境安装包:https://go.dev/dl/

Untitled.png

下载后根据指引下一步安装即可,最终安装完成后,打开命令行工具,输入 go version,看看能否正常输出go的版本号。

如果正常输入go 版本,说明go的运行环境已经安装成功。

Untitled.png

2. 安装 VSCode

VsCode 的安装就更加容易,直接在官网下载软件包按照指引安装即可。

https://code.visualstudio.com/

Untitled.png

3. 安装 Go 插件

VSCode 的插件功能中输入 go 关键字,然后找到下图中的插件,并安装。

Untitled.png

4. 安装 Go 插件依赖工具

快捷键 Ctrl + Shift + p 打开命令面板,输入go install tools,选择第一项 Go: install/Update Tools

Untitled.png

Untitled.png

5. 初始化 Go 项目

  1. go mod 初始化
go mod init levenx.com/mail
  1. 新建项目入口文件 main.go ,并输入下面代码
package main
import "fmt"
func main() {
    fmt.Println("你好,乐闻世界")
}

6. 运行 Go 代码

go run main.go

Untitled.png

Debug 断点调试

在程序运行的过程中,将运行程序停在具体的断点处,查询当前程序运行的状态。

  1. VSCode 创建 launch.json

Untitled.png

launch.json 文件内容

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch Package",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${fileDirname}"
        }
    ]
}
  1. 运行go程序

Untitled.png

总结

VSCode 作为前端开发最喜欢的开发编辑器,同样能够支持所有的开发语言。使用熟悉的编程工具,会让我们更加容易上手新学的开发语言。


http://www.niftyadmin.cn/n/5255078.html

相关文章

分析伦敦银未来价格靠什么?

分析伦敦银市场未来的价格走势,可以靠技术分析,可以靠基本面分析。所谓的技术分析,就是通过分析过去价格走势并预测未来价格走势。伦敦银市场过去的价格走势和未来的价格走势不会一模一样,但可能会出现类似的价格走势。 技术分析有…

Javascript 数组array赋值与取值

Javascript 数组array赋值与取值 目录 Javascript 数组array赋值与取值 一、数组元素的赋值 1、在创建Array对象时直接赋值 2、利用Array对象的元素下标对数组进行赋值 二、数组元素的获取 一、数组元素的赋值 对数组元素赋值共有2种方法: (1&am…

Spring中@Contorller和@ResController的区别

Controller 和 RestController 是在 Spring 框架中用于定义控制器的注解,它们之间有一些区别。 一、Contorller Controller 注解用于标识一个类为控制器(Controller)。控制器负责处理客户端请求并返回相应的响应。在使用 Controller 注解时&…

网络互连与常用设备

网络互连是为了将两个以上具有独立自治能力、同构或异构的计算机网络连接起来,实现数据流通,扩大资源共享的范围,或者容纳更多的用户。网络互连包括局域网与局域网的互连、局域网与广域网的互连、广域网与广域网的互连,这可以扩大…

抖音各加密参数说明和获取(含代码)

​X-Bogus:X-Bogus是一种防数据包伪造的一个参数, 又称为x伪造,主要用于反爬虫,这个是某节公司下面基础服务,这个反爬虫机制几乎用在了它所有的产品中,不过,只要是能正常使用,这些东…

离线环境下安装python库(推荐pip download)

离线环境下安装python库(推荐pip download) 目录 1.需求 2.失败操作(注意) 3.成功操作 4.其它参考 1.需求 机器部署web系统环境后,就不可再次联网,所以升级python web后端,需要离线安装pyt…

【每日一题】【12.11】1631.最小体力消耗路径

🔥博客主页: A_SHOWY🎥系列专栏:力扣刷题总结录 数据结构 云计算 数字图像处理 1631. 最小体力消耗路径https://leetcode.cn/problems/path-with-minimum-effort/这道题目的核心思路是:使用了二分查找和BFS &a…

AR-LDM原理及代码分析

AR-LDM原理AR-LDM代码分析pytorch_lightning(pl)的hook流程main.py 具体分析TrainSampleLightningDatasetARLDM blip mm encoder AR-LDM原理 左边是模仿了自回归地从1, 2, ..., j-1来构造 j 时刻的 frame 的过程。 在普通Stable Diffusion的基础上,使用了1, 2, .…