前端视角下的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
  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.mzph.cn/diannao/63690.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构6.3--交换排序

目录 交换排序基本思想 1.冒泡排序 2.快速排序 2.1hoare版本 2.2挖坑法 2.3前后指针版本 交换排序基本思想 所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾…

Unity 制作一个视频播放器(打包后,可在外部编辑并放置新的视频)

效果展示: 在这里,我把视频名称(Json)和对应的视频资源都放在了StreamingAssets文件夹下,以便于打包后,客户还可以自己在外部增加、删除、修改对应的视频资料。 如有需要,请联细抠抠。

软件工程知识点

软件开发模型1 软件开发模型2 软件过程模型习惯上也称为软件开发模型,它是软件开发全部过程、活动和任务的结构框典型的软件过程模型有瀑布模型、增量模型、演化模型(原型模型、螺旋模型)、喷泉模型基于构件的开发模型和形式化方法模型等。 极限编程 开发方法 RUP…

Apache Echarts和POI

目录 Apache ECharts 介绍 入门 绘制一个简单的图表 Apache POI 介绍 通过POI创建Excel文件并且写入文件内容 通过POI读取Excel文件中的内容 导出Excel表格 Apache ECharts 介绍 Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观&#xf…

COLA学习之环境搭建(三)

小伙伴们,你们好,我是老寇,上一节,我们学习了COLA代码规范,继续跟老寇学习COLA环境搭建 首先,打开GitHub,搜索 COLA 请给这个COLA项目点个Star,养成好习惯,然后Fork到自…

【友加畅捷】软件保存/激活云加密/授权码的时候失败。

【问题现象】 畅捷通T1飞跃专业版,在保存云加密的时候提示: 获取加密失败,请检查数据库是否正确连接。 【解决方法】 服务器目录FYDogServer.ini文件,将DogCloud0改成DogCloud1, 然后重新保存。 【问题现象】 U通用…

单链表(数组模拟)

单链表的结构 用数组来模拟的话&#xff0c;需要两个数组&#xff0c;通过下标关联起来 例如&#xff1a; #include <bits/stdc.h>using namespace std;const int N 100010;int e[N]; //储存第i个插入的数的值 int ne[N]; //储存下标为i的next指针 int n; int idx1; int…

docker compose容器编排工具

华子目录 docker compose概述主要功能工作原理docker compose中的管理层docker compose的常用命令参数构建和重新构建服务docker compose的yaml文件一、服务&#xff08;services&#xff09;二、数据卷&#xff08;volumes&#xff09;三、网络&#xff08;networks&#xff0…

科普时刻 | 无线充电热管理:挑战与解决方案

无线充电器可通过电磁感应&#xff0c;在不直接进行电接触的情况下执行电能传输&#xff0c;因此无需繁杂的电缆电线连接&#xff0c;便可为我们的手机、手表、平板电脑以及耳机等设备供电。然而&#xff0c;随着对电子设备更快充电的需求不断增加&#xff0c;热管理对于防止过…

用ChatGPT-o1进行论文内容润色效果怎么样?

目录 1.引导问题发现 2.角色设定 3.整理常问修改 4.提供样例 5.小细节 小编在这篇文章中分享如何充分利用ChatGPT-o1-preview来提升论文润色的技巧。小编将持续跟进最新资源和最新的调研尝试结果&#xff0c;为宝子们补充更多实用的写作技巧。这些技巧将有助于您更有效地利…

数据可视化大屏UI组件库:B端科技感素材PSD

在数据可视化领域&#xff0c;一个出色的大屏UI设计不仅能够准确传达数据背后的信息&#xff0c;更能提升用户的视觉体验。然而&#xff0c;对于UI设计师而言&#xff0c;设计这样一款界面往往面临着寻找合适设计素材的挑战。为了应对这一难题&#xff0c;我们推出了这款数据可…

深度学习中的损失函数

损失函数是深度学习模型训练过程中不可或缺的一部分&#xff0c;是模型预测值与真实值之间差异的客观衡量标准。它们是模型训练的基础&#xff0c;指导算法调整模型参数&#xff0c;以最小化损失并提高预测准确性。它们衡量了模型预测值与真实值的吻合程度。通过最小化这种损失…

#自定义数据类型-简单模拟进程执行

#include <iostream> #include <string> #include <iomanip> using namespace std;//定义一个名为process的结构体&#xff0c;用于表示进程相关信息 //包含进程名、进程ID、进程优先级、进程状态、进程所需CPU时间、进程描述等成员 struct process {string …

【论文阅读】处理器芯片敏捷设计方法:问题与挑战

作者&#xff1a;包云岗老师 包云岗老师是计算机体系结构方向的大牛&#xff0c;推动了体系结构方面的开源事业! 欢迎对本栏目感兴趣的人学习"一生一芯"~ 学习体会&#xff1a; 已有的软硬件生态系统和开发成本制约了对新结构的探索。但目前仍在几种路线上做尝试~ 1…

Redis原理—4.核心原理摘要

大纲(9870字) 1.Redis服务器的Socket网络连接建立 2.Redis多路复用监听与文件事件模型 3.基于队列串行化的文件事件处理机制 4.完整的Redis Server网络通信流程 5.Redis串行化单线程模型为什么能高并发 6.Redis内核级请求处理流程与原理 7.Redis通信协议与内核级请求数据…

十五、K8s计划任务JobCronJob

K8s计划任务CronJob&Job 一、Job可以干什么 Job 控制器用于管理 Pod 对象运行一次性任务,比方说我们对数据库备份,可以直接在 k8s 上启动一个 mysqldump 备份程序,也可以启动一个 pod,这个 pod 专门用来备份用的,备份结束 pod 就可以终止了,不需要重启,而是将 Pod…

一文掌握 OpenGL 几何着色器的使用

学习本文需要具备 OpenGL ES 编程基础,如果看起来比较费劲,可以先看入门文章 OpenGL ES 3.0 从入门到精通系统性学习教程 。 什么是几何着色器 几何着色器(Geometry Shader) OpenGL 管线中的可选着色器阶段,位于顶点着色器(Vertex Shader) 和光栅化阶段 之间。 其核心…

PHP语法学习(第十天)—PHP 表单

各位&#x1f9cd;‍♂️ 周一愉快♪٩(ω)و♪ 我是练小杰&#xff0c;今天开启新的篇章——PHP 表单 另外&#xff0c;想要学习更多PHP语法相关内容点击 “PHP专栏”~~~ 今天由我强哥来带领大家学习~~ 文章目录 PHP 表单简介表单的基本结构表单数据操作PHP 中的 $_POST 和 $_…

卫生巾检测项目、检测标准梳理

为了确保卫生巾在使用过程中具备良好的吸收性、舒适性、透气性&#xff0c;并且符合卫生安全标准&#xff0c;避免对人体健康造成不良影响&#xff0c;需要对其进行一系列检测。 名找我 一、检测项目 外观质量 检查卫生巾的形状、尺寸是否与标识相符&#xff0c;表面是否平整…

架构13-持久化存储

零、文章目录 架构13-持久化存储 1、Kubernetes 存储设计 &#xff08;1&#xff09;存储设计考量 **设计哲学&#xff1a;**Kubernetes 遵循用户通过资源和声明式 API 描述意图&#xff0c;Kubernetes 根据意图完成具体操作。**复杂性&#xff1a;**描述用户的存储意图本身…