当前位置: 首页 > news >正文

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

http://www.mrgr.cn/news/17382.html

相关文章:

  • SQL进阶技巧:计算每个uid上一笔成功订单id | 近距离有效匹配问题【last_value ignore nulls实现版】
  • 我用GPT对RAG技术的学习和探索
  • 一.海量数据实时分析-Doris入门和安装
  • 支付时有没有什么小技巧可以避免个人信息外泄
  • 一文看懂CSS3选择器
  • HarmonOS实战开发:Node-API接口适配模块加载指导
  • H264码流结构讲解
  • 【iOS】属性关键字
  • Linux 系统入门:基础知识和命令集合,用户与权限
  • 关于node中为什么会同时存在export,module.export
  • 【网络安全】利用 IDOR 的密码重置功能实现账户接管
  • idea插件开发的第一天-写一个小Demo
  • 基于Python的量化交易回测框架Backtrader初识记录(一)
  • 概率论原理精解【11】
  • 【知识图谱】4、LLM大模型结合neo4j图数据库实现AI问答的功能
  • 在VScode中使用Git将本地已有文件夹提交到Github仓库以便于使用版本控制进行项目开发
  • Todo List
  • Express与SQLite集成教程:轻松实现数据库操作
  • 原型与原型链
  • C++ string类—容量、元素获取