Go入门: Air配置热重载

2024-09-02 10:28
文章标签 配置 go 入门 重载 air

本文主要是介绍Go入门: Air配置热重载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Go入门: Air配置热重载

前言

本章节适合 Golang 初学者,通过简单的项目实践来加深对 Golang 的基本语法和 Web 开发的理解。
参考文档:Air GO 官方文档
欢迎前往博主博客 torna.top 免费查阅

Air 简介

Air 是为 Go 应用开发设计的另外一个热重载的命令行工具。只需在你的项目根目录下输入 air,然后把它放在一边,专注于你的代码即可。

Air 出现的根本原因:
使用 Gogin 框架开发网站时,由于 gin 缺乏实时重载功能,开发者不得不频繁使用 go run main.go 命令运行项目,每次修改代码都需要重新启动项目,导致开发效率低下。

注意:该工具与生产环境的热部署无关。

Air 特性:

  • 彩色的日志输出
  • 自定义构建或必要的命令
  • 支持外部子目录
  • 在 Air 启动之后,允许监听新创建的路径
  • 更棒的构建过程

安装


1. 使用 go install (推荐)

需要 go 1.22 或更高版本:

go install github.com/air-verse/air@latest

此方法最为便捷,但需要 go 环境变量 GOPATH 已设置。

每日小技巧: go get vs go install
特性go getgo install
用途- 下载和安装 Go 包和工具
- 更新现有包和工具
- 安装 Go 工具
- 编译并安装 Go
主要功能- 从远程代码仓库获取包
- 将包添加到模块的依赖列表
- 更新包至最新版本
- 编译并安装指定包
- 将编译后的二进制文件安装到 $GOPATH/bin 或模块所在目录
使用方式- go get [package]
- go get -u [package](更新包)
- go install [package]
包管理- 更新或下载指定包及其依赖
- 可用于获取第三方库和工具
- 针对当前模块或指定包进行安装
- 对包进行编译并安装到 $GOPATH/bin 或模块目录
安装位置- 安装到 $GOPATH/bin(Go 1.16 之前)
- 在模块模式下,安装到 $GOPATH/bin 或模块目录
- 安装到 $GOPATH/bin 或模块目录
模块支持- 支持 Go Modules(从 Go 1.11 起)
- 可以在模块模式下使用
- 支持 Go Modules(从 Go 1.16 起)
- 安装指定的包或工具
常用场景- 获取新工具
- 更新现有工具和包
- 安装工具到全局环境
- 编译当前项目并安装
示例- go get golang.org/x/tools/cmd/gopls
- go get -u github.com/gin-gonic/gin
- go install golang.org/x/tools/cmd/gopls@latest
- go install ./cmd/mytool

2. 使用 install.sh

# binary 文件安装在 $(go env GOPATH)/bin/air
curl -sSfL https://raw.githubusercontent.com/air-verse/air/master/install.sh | sh -s -- -b $(go env GOPATH

这篇关于Go入门: Air配置热重载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1129705

相关文章

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos