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

今日话题

使用 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:UsersDELLgo

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

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

二、手动命令创建项目

1、创建 demo-hello-world 文件夹

复制代码
mkdir demo-hello-world

2、声明 go.mod 文件

复制代码
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:UsersDELLgo,打开之后发现确实存在了 SDK 版本

二、go.mod 文件作用?

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

1、生成 go.mod 文件

复制代码
go mod init demo-hello-world

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

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

前端生成 package.json 方式:

复制代码
npm init -y
  • 这里的 npm 对应的就是 go
  • init 对应 init
  • 不过前端这边不用指明是 package.json 文件 前端现在默认都是这个依赖
三、go sdk 还提供了哪些 api

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

复制代码
go mod init demo-hello-world

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

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

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

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

    go run main.go

  2. go build:编译包和依赖项。

    go build

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

    go install

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

    go clean

  5. go test:运行测试文件。

    go test

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

    go get example.com/module

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

    go mod init module-name

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

    go mod tidy

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

    go mod vendor

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

    go mod download

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

    go mod edit

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

    go mod graph

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

    go mod verify

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

    go mod why package-name

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

    go env

代码仓库

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

往期内容

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

相关推荐
阿珊和她的猫3 小时前
v-scale-scree: 根据屏幕尺寸缩放内容
开发语言·前端·javascript
_Kayo_5 小时前
node.js 学习笔记3 HTTP
笔记·学习
加班是不可能的,除非双倍日工资7 小时前
css预编译器实现星空背景图
前端·css·vue3
wyiyiyi8 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
CCCC13101638 小时前
嵌入式学习(day 28)线程
jvm·学习
gnip8 小时前
vite和webpack打包结构控制
前端·javascript
excel8 小时前
在二维 Canvas 中模拟三角形绕 X、Y 轴旋转
前端
apocelipes9 小时前
下划线字段在golang结构体中的应用
golang
星星火柴9369 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头9 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习