前端视角下的Go语法学习:创建 Go 项目

云层上的光 2024-07-18 17:03:15 阅读 62

今日话题

使用 GoLand 创建 Go 项目

作者:云层上的光

时间:2024年6月20日 17时16分14秒

主线任务

一、GoLand 创建项目

1、点击 “new Project” 按钮

2、已经有下载过两个 Golang SDK 版本,选择版本创建即可~

3、如果没有下载过Golang SDK,或者项目中需要不同版本,则可以点击 “Download” 按钮

4、等待一小会时间就可以进行 Golang SDK 版本选择 ,本次操作选择 go.1.22.0 作为演示

存放地址选择了默认地址:C:\Users\DELL\go

5、确认之后,再修改代码存放地址:

6、点击创建,会得到一个 go.mod 文件,到这里 go 项目就算创建完毕

二、手动命令创建项目

1、创建 demo-hello-world 文件

<code>mkdir demo-hello-world

2、声明 go.mod 文件

<code>go mod init demo-hello-world

3、这种方式创建的项目 默认会用电脑的sdk,使用编辑器的话可以自己选择 sdk ,当然其实这些都是可以直接在 go.mod 文件中进行调整的

4、当然,为了研究 我修改了下载 1.22.5 版本,不过目前官方最新是 1.22.4 所以给我报错了,这很正常

支线任务

一、go.1.22.0 是否会本地下载?

在上面演示中,选择了 go.1.22.0 创建的项目,好奇是否会下载 go.1.22.0 SDK在本地呢?

打开文件夹找到存放地址 C:\Users\DELL\go,打开之后发现确实存在了 SDK 版本

二、go.mod 文件作用?

go.mod 文件是 go 项目依赖管理文件,相当于前端的 package.json,也是Java项目中Maven的pom.xml

1、生成 go.mod 文件

<code>go mod init demo-hello-world

2、从上面的命令不难看出:

go 是 go 安装的 sdkmod 就是 mod 文件的意思,连起来这里其实是go提供出来的一个命令叫 go mod (和前端脚手架一样)init 初始化的意思这里的 demo-hello-world 指的是模块的意思,这里后续再进一步了解 TODO

前端生成 package.json 方式:

npm init -y

这里的 npm 对应的就是 goinit 对应 init不过前端这边不用指明是 package.json 文件 前端现在默认都是这个依赖

三、go sdk 还提供了哪些 api?

1、目前我们学会了使用 go mod 用来生成 go.mod 文件

go mod init demo-hello-world

2、还有 go sdk 还提供了哪些 api 呢,这里先做一个了解,后续用到再深入:

3、不过目前都还没有用上,暂时没有必要深入的去了解,只有用到了再学习会事半功倍

不过还是先列举出来常用的命令,以下是一些常用的命令和它们的功能:

go run:编译并运行一个 Go 源码文件或一组文件。

<code>go run main.go

go build:编译包和依赖项。

go build

go install:编译并安装包和依赖项到 $GOPATH/bin 目录下(或者 $GOBIN,如果设置了)。

go install

go clean:移除当前源码包和关联的目标文件

go clean

go test:运行测试文件。

go test

go get:下载并安装指定的远程模块包。

go get example.com/module

go mod init:初始化一个新的模块,创建 go.mod 文件。

go mod init module-name

go mod tidy:整理和移除未使用的依赖。

go mod tidy

go mod vendor:将依赖项复制到本地 vendor 目录。

go mod vendor

go mod download:下载模块的依赖项。

go mod download

go mod edit:编辑模块的 go.mod 文件。

go mod edit

go mod graph:打印模块依赖图。

go mod graph

go mod verify:校验依赖的正确性。

go mod verify

go mod why:解释为什么需要依赖。

go mod why package-name

go env:查看当前 Go 环境变量。

go env

代码仓库

https://github.com/chuxin-cs/go-demo/tree/master/demo-env

往期内容

点击链接查看:https://www.yuque.com/chuxin-cs/it/ge9wybczy0wsq1l1



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。