windows下使用vscode搭建golang环境并调试的过程

 更新时间:2022年09月20日 15:21:45   作者:go2coding  
这篇文章主要介绍了在windows下使用vscode搭建golang环境并进行调试,主要包括安装方法及环境变量配置技巧,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一种语言会老吗?

我觉得会的,Objective-C语言变老了,就出现了 Swift语言。头号的语言c语言变老了,golang语言就出现了。

他们是像似一种血缘的关系,一出生就带有了某种的相似性。

如果你对c语言很熟悉,不妨看看 golang语言,看看他们的相似性,和 golang语言自身带有的现代性。

安装

到官方的下载地址下进行下载:点这里

如果不想看那么多英文的话,直接点击下载就可以了,这里是讲windows的安装,你就安装windows的版本就好了。

一路安装到底就对了。

选择安装的路径:

我们装的目录在 C:\Program Files\Go ,我们去看看,安装完成以后,目录有哪些。

好了,我们的 golang安装成功了。但是我们还不要着急用,还有几个东西要配置一下。

环境变量配置

  • 环境变量path

在环境变量path中,看看有没有把 golang安装路径给添加上。

确实,安装程序很聪明,已经把路径给安装上了。

  • GOPATH

为了以后的规范使用,我们创建一个文件夹GolangProjects,这个文件夹用来存放我们以后golang的代码和库。

GolangProjects里再创三个文件夹

bin:go install 在编译项目时,生成的可执行文件会放到此目录
pkg:go install 在编译项目时,生成的包文件会放到此目录
src :以后所有项目都要放在这个目录

这三个路径,还需要环境变量来配合。GOPATH

  • GOBIN

GOBIN 的配置在C:\work\GolangProjects\bin下,这样以后我们下载的exe都会放在这个目录下

  • GOROOT

GOROOT 的配置在安装目录下 C:\work\GolangProjects\bin

这个时候我们的环境基本建立起来了,打开一个控制台,输入go命令,会有如下的提示。

运行helloword

在目录 C:\work\GolangProjects\hello 下 新建文件main.go

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

运行代码:

C:\work\GolangProjects\hello>go run main.go

结果 如下:

hello world!

设置代理

有些时候在下载包的时候很慢,如下的命令,开始提高速度:

C:\Users\Administrator>go env -w GO111MODULE=on
C:\Users\Administrator>go env -w GOPROXY=https://goproxy.cn

vscode编辑器调试golang

vscode 很好的一个编辑器,下载地址在这里

完成安装后,配置下go的环境。

命令安装 go:install/update

找到 go:install/update tools

全选,安装。

提示安装完成。

Tools environment: GOPATH=C:\work\GolangProjects, GOBIN=C:\work\GolangProjects\bin
Installing 7 tools at the configured GOBIN: C:\work\GolangProjects\bin in module mode.
  gotests
  gomodifytags
  impl
  goplay
  dlv
  staticcheck
  gopls

Installing github.com/cweill/gotests/gotests@latest (C:\work\GolangProjects\bin\gotests.exe) SUCCEEDED
Installing github.com/fatih/gomodifytags@latest (C:\work\GolangProjects\bin\gomodifytags.exe) SUCCEEDED
Installing github.com/josharian/impl@latest (C:\work\GolangProjects\bin\impl.exe) SUCCEEDED
Installing github.com/haya14busa/goplay/cmd/goplay@latest (C:\work\GolangProjects\bin\goplay.exe) SUCCEEDED
Installing github.com/go-delve/delve/cmd/dlv@latest (C:\work\GolangProjects\bin\dlv.exe) SUCCEEDED
Installing honnef.co/go/tools/cmd/staticcheck@latest (C:\work\GolangProjects\bin\staticcheck.exe) SUCCEEDED
Installing golang.org/x/tools/gopls@latest (C:\work\GolangProjects\bin\gopls.exe) SUCCEEDED

All tools successfully installed. You are ready to Go. :)

vscode打开刚才hello 的目录:C:\work\GolangProjects\hello,按下快捷键 F5,进行调试,这时候我们需要创建launche.json,编辑launche.json如下:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch Package",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${fileDirname}"
        }
    ]
}

继续按下快捷键 F5,会出现如下的错误:

Build Error: go build -o c:\work\GolangProjects\hello\__debug_bin.exe -gcflags all=-N -l .
go: go.mod file not found in current directory or any parent directory; see 'go help modules' (exit status 1)

我们少了mod文件,用命令行生成。

什么也没有,以后我们再来聊聊,这个文件的作用:

module hellogo
go 1.19

继续按下 F5,终于断点,断住了。

到此这篇关于在windows下使用vscode搭建golang环境并进行调试的文章就介绍到这了,更多相关vscode搭建golang环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Golang中时间格式化的实现详解

    Golang中时间格式化的实现详解

    这篇文章主要为大家详细介绍了Go语言中进行时间进行格式化的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-09-09
  • Go语言中的流程控制结构和函数详解

    Go语言中的流程控制结构和函数详解

    这篇文章主要介绍了Go语言中的流程控制结构和函数详解,本文详细讲解了if、goto、for、switch等控制语句,同时对函数相关知识做了讲解,需要的朋友可以参考下
    2014-10-10
  • Golang unsafe包中的类型和函数详解

    Golang unsafe包中的类型和函数详解

    Golang中的unsafe包用于在运行时进行低级别的操作,这些操作通常是不安全的,因为可以打破Golang的类型安全性和内存安全性,使用 unsafe包的程序可能会影响可移植性和兼容性,接下来看下unsafe包中的类型和函数
    2023-08-08
  • Go语言数据类型简单介绍

    Go语言数据类型简单介绍

    这篇文章主要介绍了Go语言数据类型简单介绍的相关资料,需要的朋友可以参考下
    2023-08-08
  • Golang标准库time包日常用法小结

    Golang标准库time包日常用法小结

    本文主要介绍了Golang标准库time包日常用法小结,可以通过它们来获取当前时间、创建指定时间、解析时间字符串、控制时间间隔等操作,感兴趣的可以了解一下
    2023-11-11
  • 使用Golang的Context管理上下文的方法

    使用Golang的Context管理上下文的方法

    这篇文章主要介绍了使用Golang的Context管理上下文的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 如何在Golang中运行JavaScript

    如何在Golang中运行JavaScript

    最近写一个程序,接口返回的数据是js格式的,需要通过golang来解析js,所以下面这篇文章主要给大家介绍了关于如何在Golang中运行JavaScript的相关资料,需要的朋友可以参考下
    2022-01-01
  • 深入了解Golang为什么需要超时控制

    深入了解Golang为什么需要超时控制

    本文将介绍为什么需要超时控制,然后详细介绍Go语言中实现超时控制的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-05-05
  • golang解析yaml文件操作

    golang解析yaml文件操作

    这篇文章主要介绍了golang解析yaml文件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • go colly 爬虫实现示例

    go colly 爬虫实现示例

    这篇文章主要为大家介绍了go colly 爬虫实现示例,效果是根据输入的浏览器cookie及excel必要行列号,从excel中读取公司名称,查询公司法人及电话号码。并写回到excel中指定行
    2022-09-09

最新评论