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
相关推荐
sz66cm26 分钟前
Python基础 -- 使用Python实现ssh终端并实现数据处理与统计功能
开发语言·python·ssh
码农小野1 小时前
基于SpringBoot的自习室预订系统
java·spring boot·后端
liangbm32 小时前
MATLAB系列02:MATLAB基础
开发语言·数据结构·笔记·matlab·教程·工程基础·高级绘图
ac-er88883 小时前
如何在Flask中实现国际化和本地化
后端·python·flask
Adolf_19933 小时前
Flask-WTF的使用
后端·python·flask
change95133 小时前
PHP纯离线搭建(php 8.1.7)
开发语言·php
福鸦3 小时前
详解c++:new和delete
开发语言·c++
qq_172805593 小时前
Go Testify学习与使用
开发语言·golang·go
兩尛3 小时前
java--面向对象编程(中级部分)
java·开发语言
卡戎-caryon4 小时前
【Linux】09.Linux 下的调试器——gdb/cgdb
linux·运维·服务器·开发语言·笔记