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

news/2024/12/13 22:52:57/

今日话题

使用 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
  1. go mod edit:编辑模块的 go.mod 文件。
go mod edit
  1. go mod graph:打印模块依赖图。
go mod graph
  1. go mod verify:校验依赖的正确性。
go mod verify
  1. go mod why:解释为什么需要依赖。
go mod why package-name
  1. go env:查看当前 Go 环境变量。
go env

代码仓库

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

往期内容

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


http://www.ppmy.cn/news/1554868.html

相关文章

asp.net老项目运维,出现的问题6之数据库

数据库会有很多张表,表内一般会有自增列,如果想统一管理这个自增数值,可以使用如下方法,放在一个存储过程中,想用的时候调用存储过程即可生成数据库层面的全局唯一值: create procedure [dbo].[P_getSeqID…

Transformer学习记录

参考链接 揭密Transformer:大模型背后的硬核技术-知乎 Attention中的Q,K,V是什么-知乎 Transformer 1. Embedding Embedding,给大模型装上了嘴巴、眼睛和耳朵。 顺着这个技术路线,更多其它类型传感器的数据采集下来…

YOLOv8-ultralytics-8.2.103部分代码阅读笔记-dataset.py

dataset.py ultralytics\data\dataset.py 目录 dataset.py 1.所需的库和模块 2.class YOLODataset(BaseDataset): 3.class YOLOMultiModalDataset(YOLODataset): 4.class GroundingDataset(YOLODataset): 5.class YOLOConcatDataset(ConcatDataset): 6.class Sema…

如何理解UDP 和 TCP? 区别? 应用场景?

理解 UDP 和 TCP 的区别及应用场景 目录 什么是 TCP 和 UDP TCP(传输控制协议)UDP(用户数据报协议)TCP 和 UDP 的区别 可靠性传输方式流量控制和拥塞控制速度与延迟数据包大小和开销应用场景 TCP 的应用场景UDP 的应用场景代码示例 TCP 服务器和客户端示例UDP 服务器和客户…

矩阵源代码部署与功能简介

在当今短视频盛行的时代,矩阵系统的出现为内容创作者和运营团队提供了极大的便利。本文将详细介绍矩阵系统的源代码部署流程及其核心功能,并附上部分源代码示例,以帮助读者更好地理解这一系统。 一、矩阵系统源代码部署 1. 需求分析 在进行源…

自行车租赁

文末获取源码和万字论文,制作不易,感谢点赞支持。 摘 要 本文论述了一个基于java平台、B/S(浏览器和服务器结构)的自行车租赁系统。设计原理、设计思想及具体的实现过程,对在设计过程中涉及到的关键设计思想及重要作业流程作了具体分析和介…

基于用户多元需求视角下 AI 智能名片 O2O 商城小程序的价值与发展策略

摘要:本文深入剖析在当今用户需求多元化的背景下,从显性与隐性需求层面探讨各类产品的发展趋势。以海飞丝等产品为例阐述传统产品功能与新兴多元需求的演变,进而引入 AI 智能名片 O2O 商城小程序,详细分析其如何契合用户多维度需求…

Image Stitching using OpenCV

文章目录 简介图像拼接管道特征检测和提取特征检测特征提取 特征匹配强力匹配FLANN(近似最近邻快速库)匹配 单应性估计扭曲和混合结论 使用opencv进行图像拼接 原为url: https://medium.com/paulsonpremsingh7/image-stitching-using-opencv-a-step-by-s…