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

go安装使用gin 框架

Gin 是一个非常流行的 Go Web 框架,轻量、高性能、API 友好。下面是 Gin 的安装和基本使用教程:


一、安装 Gin

确保你已经安装了 Go 开发环境(Go 1.16 及以上版本更好)并设置好了 GOPATH

使用 go modules(推荐方式)

在项目目录下执行:

go mod init your_project_name
go get -u github.com/gin-gonic/gin

二、创建 Gin 示例项目

目录结构如下:

your_project/
│
├── go.mod
├── main.go

main.go 示例代码:

package mainimport ("github.com/gin-gonic/gin""net/http"
)func main() {r := gin.Default() // 使用默认中间件(Logger 和 Recovery)// 定义一个 GET 路由r.GET("/ping", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"message": "pong",})})// 启动服务,监听在 0.0.0.0:8080r.Run()
}

三、运行项目

go run main.go

浏览器访问 http://localhost:8080/ping,你应该能看到:

{"message": "pong"
}

四、常用功能示例

1. 路由参数:

r.GET("/user/:name", func(c *gin.Context) {name := c.Param("name")c.String(http.StatusOK, "Hello %s", name)
})

2. POST 请求 + JSON 解析:

type Login struct {User string `json:"user" binding:"required"`Pass string `json:"pass" binding:"required"`
}r.POST("/login", func(c *gin.Context) {var login Loginif err := c.ShouldBindJSON(&login); err != nil {c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})return}c.JSON(http.StatusOK, gin.H{"status": "you are logged in"})
})

五、自动热重载(开发用)

你可以使用 airgin 工具进行热重载:

安装 air:

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

在项目根目录运行:

air

air的使用详解上一篇《Go 的热重载工具 Air 详解》

http://www.dtcms.com/a/286828.html

相关文章:

  • 在Jetson部署AI语音家居助手(二):语音激活+语音转文字
  • RS485转PROFIBUS DP网关写入命令让JRT激光测距传感器开启慢速模式连续测量
  • Angular项目IOS16.1.1设备页面空白问题
  • Windows 环境下递归搜索文件内容包含字符串
  • 亚马逊广告高级玩法:如何通过ASIN广告打击竞品流量?
  • 关于一个引力问题的回答,兼谈AI助学作用
  • 读书笔记:《动手做AI Agent》
  • el-date-picker 如何给出 所选月份的最后一天
  • C++ -- STL-- stack and queue
  • 通付盾即将亮相2025世界人工智能大会丨携多智能体协同平台赋能千行百业
  • 如何写python requests?
  • [Linux]如何設置靜態IP位址?
  • LangChain 源码剖析(七)RunnableBindingBase 深度剖析:给 Runnable“穿衣服“ 的装饰器架构
  • Vuex 基本概念
  • Java HashMap高频面试题深度解析
  • Redis高频面试题:利用I/O多路复用实现高并发
  • 在java后端项目中,controller、dal、service的作用是什么?
  • 从 0 安装 Label Studio:搭建可后台运行的数据标注平台(systemd 实践
  • 微服务项目总结
  • 【c++】中也有floor函数吗?他与JavaScript中的floor有啥区别?
  • 【iOS】消息传递和消息转发
  • Ubuntu系统下快速体验iperf3工具(网络性能测试)
  • CAN通信静默模式的原理与应用
  • 【JAVA】JVM内存泄漏围剿终极指南:Arthas在线诊断 + MAT内存分析完整链路
  • 代码随想录算法训练营第二十四天
  • 中国工业RFID前三品牌
  • 片上网络(NoC)拓扑结构比较
  • LeetCode 88 - Merge Sorted Array 合并有序数组
  • 策略模式+工厂模式(案例实践易懂版)
  • 半小时部署本地deepseek【1】