Windows安装Go语言及VScode配置

最近搞自己的网站时突然想起来很多上学时的事,那会美国总统还是奥巴马,网页课教的是DreamWeaver跟Photoshop,其他语言像PHP、Java8、Python都有学一点,讲究一个所见即所得。虽然是信管专业那时和斌桑班长对新语言很感兴趣,现在准备将这些东西再从新学习一遍。

Golang是Google公司在2007年开始开发的一种静态强类型、编译型语言。Go语言被设计成一门简单、高效且可靠的编程语言,旨在解决大规模网络服务和分布式系统开发中的复杂性问题。Go语言结合了动态语言的开发速度和C/C++等编译型语言的性能与安全性,提供了强大的网络编程和并发编程支持。

Golang中文网下载地址:Go下载 - Go语言中文网 - Golang中文社区 (studygolang.com)

我下载的**.msi**格式,下载后直接安装在一个顺眼的地方,安装完成后将Go文件夹里bin文件夹的存储路径添加到环境变量,在安装时会自动生成一个用户变量GOPATH.

随后使用 win + r 打开**amd,**在终端输入:

复制代码
go version

Golang安装成功,随后再输入以下代码查看Golang的环境变量:

复制代码
go env

之后打开VScode,下载 GoCode Runner插件,新建一个文件夹,里面在新建三个文件夹

  • src目录:用于以代码包的形式组织并保存Go源码文件。这些源码文件包括库源码文件、命令源码文件和测试源码文件。所有的Go源代码都应该放在这个目录下,这是Go命令行工具的一个强制规则。
  • pkg目录:用于存放经由go install命令构建安装后的代码包(包含Go库源码文件)的".a"归档文件。与GOROOT目录下的pkg功能类似,区别在于,工作目录中的pkg目录专门用来存放用户代码的归档文件。这个目录无需手动创建,如果必要,Go命令行工具go mod init 在构建过程中会自动创建。
  • bin目录:在通过go install命令完成安装后,保存由Go命令源码文件生成的可执行文件。这个目录也是自动创建的,无需手动创建。所谓命令源码文件,就是可以独立运行,可被gobuild或goinstall命令转换成可执行文件。
  • 从Go 1.11开始引入的Go模块改变了这一做法,不再需要显式地设置这些目录,因为模块提供了更好的依赖管理和构建机制,可以将代码直接放在工作区的根目录下。

对于使用Go模块的项目需要,在环境变量中加入 GOPATH指向工作目录 ,但是从Go 1.14版本开始,GOPATH的默认值已经足够好,通常不需要显式设置。

设置好后在VScode终端输入:

复制代码
go mod init 项目导入路径(cd到新建go项目文件夹的上一级文件夹使用)

这个路径会是你的代码仓库的URL或者是你的项目的导入路径。例如项目托管在GitHub上,并且你的用户名是GGBond,项目名是GGBoy,那么你可以使用github.com/GGBond/GGBoy作为模块路径。

如果只是想在本地使用一个简单的名称,可以

复制代码
go mod init GGBoy

随后便在文件夹生成 go.mod文件

有些情况需要在终端输入:

复制代码
set GO111MODULE = on

安装GO语言服务器gopls,用于编译静态文件

复制代码
go install golang.org/x/tools/gopls@latest

这时可以新建一个**.go** 文件,在里面写入:

复制代码
package main

import "fmt"

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

点击即可运行。

可以使用go build 来构建你的项目,构建的可执行文件默认会在当前目录下创建。不再需要关心bin目录,因为Go工具会处理这些细节。

复制代码
go build -o GGBoy GGBond/BigDick.go  

需要添加其他依赖项的话,可以使用 go get

复制代码
go get github.com/some/dependency

大概的结构

复制代码
BigDick/  
├── go.mod  
├── main.go  
└── ggboy/  
    └── ggboy.go
相关推荐
零雲6 分钟前
Java面试:@Component和@Bean的区别是什么
java·开发语言·面试
Thomas游戏开发23 分钟前
Unity3D IL2CPP如何调用Burst
前端·后端·架构
Jerry404_NotFound36 分钟前
工厂方法模式
java·开发语言·jvm·工厂方法模式
微风欲寻竹影38 分钟前
深入理解Java中的String
java·开发语言
货拉拉技术40 分钟前
货拉拉离线大数据迁移-验数篇
后端·架构
用户68026590511944 分钟前
如何利用 Endpoint Central 提高企业终端管理效率
javascript·后端·面试
代码or搬砖1 小时前
TransactionManager 详解、常见问题、解决方法
java·开发语言·spring
程序员佳佳1 小时前
文章标题:彻底抛弃OpenAI官方Key?实测GPT-5.2与Banana Pro(Gemini 3):这才是开发者的终极红利!
开发语言·人工智能·python·gpt·ai作画·api·midjourney
挖矿大亨1 小时前
C++中左移运算符重载
开发语言·c++
廋到被风吹走1 小时前
【Spring】Spring Context 详细介绍
java·后端·spring