golang-gin入门资料

golang gin 服务器部署 文章目录golang gin 服务器部署前言基本流程1、build 项目2、写执行脚本 run.sh3、创建一个 service 配置文件4、启动5、配置反向代理和ssl证书 golang gin 服务器部署 前言 golang使用gin开发完毕后,切不可直接运行或者使用go run xxx.go这种形式,比较正规的做法是,利用linux的服务去管理,不然ssh一退出,网站就停止了。 基本流程 简... 阅读详情

下载地址

官网文档

一个实例

Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin. https://gin-gonic.com/
Gin是一个用Go写成的HTTP服务器。他像Martini-like,但是比其快了40倍。如果想体验极速,开始使用Gin吧。

初看项目在github里面star 34.7k。

安装

golang 1.11+

go get -u github.com/gin-gonic/gin

最简单的例子

package main

import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong",
        })
    })
    r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

官方的实例

实例

介绍

基于Radix tree路由, 更小内存消耗。没有反射。
传入的http请求可以由一系列中间件和最终操作处理。例如需要post db中的数据,可以通过Logger, Authorization, GZIP中间件。
gin能catch住http请求处理中的问题。这样你的服务器将会一直都运行。例如,可以将错误信息转发给哨兵。
json validation
Gin能将json方式的请求,解析出来。例如能检测请求的数据值是否存在。
routes grouping
让你更好的组织路由。不同版本的api,是否需要校验。。。在这种情况,the grouping能被无限制的嵌套到其中,并且不造成任何的效率的降低。
Error management
Gin提供了便利的方式,收集任何在http请求处理过程中的发生的错误。最终,中间件将会把着一些信息写入一个日志中,或者通过网络写入到db中。
Rendering built-in
Gin提供了Rendering api为json,xml,html。
extendable
扩展性。你可以去通过学习sample代码,很容易掌握如何编写新的中间件。

特性
Gin v1 stable features

0分配路由
最快的静态路由框架;
完整单元测试套件;
被实战检验过;
API冻结,新的发布不会造成对你的代码的破坏;

jsoniter,可以通过命令行来修改json包。

go build -tags=jsoniter .
【9.1】Golang后端开发系列--Gin快速入门指南 本文是 Go 语言中 Gin 后端开发的快速入门指南。首先介绍了 Gin 框架,包括其性能卓越、中间件支持和简洁易用的特点。接着讲述了安装步骤,涵盖 Go 环境安装与 Gin 的 Go Modules 安装。随后阐述路由基础,如基本路由、路由参数和查询参数的使用。还涉及请求处理和响应,包括 JSON 数据处理和表单数据处理。同时讲解中间件使用,含内置和自定义中间件及执行顺序。此外,还有模板渲染、错误处理、文件上传下载及测试部署等,通过代码示例及解释,助力开发者快速上手 Gin 后端开发。 阅读详情

相关推荐

gin go笔记-创建gin项目二

花不知名分外娇 Gin 框架的选择 经过各种网络搜索各个框架性能及优缺点,最终锁定Beego和Gin 两款框架。本人又经过长期思想斗争,耗死千万脑细胞的情况下选择了Gin .原因就是性能好。没有框架应有的目录结构,才是真正的目录结构(这样可以想怎么搞怎么搞!)。当然,作为一个资深的PHP码农,使惯了mvc 模式,还是会遵循MVC模式 一:安装Gin 框架 ​ 执行 go get git...

大飞的博客 3804

Golang Gin 框架 Route学习

路由 package main import ( "github.com/gin-gonic/gin" "time" "log" ) func main() { // 初始化 router := gin.New(); // 常规操作 router.POST("/", func(context *gin.Context) { ...

Joker_Fei的博客 3460

Golang Gin 的路由的详解

路由是 web 应用程序中的一种机制,它将到达服务器的请求与应该处理该请求的代码关联起来。简单来说,路由就是指定在访问某个 URL 时会执行的代码。Gin 使用 HTTP 方法和 URL 路径来定义路由。例如,当一个 GET 请求到达/hello路径时,该请求将被处理并返回一个响应。路由的实现原理是通过在服务器上监听传入的请求,并将其与定义的路由规则进行匹配。当请求与某个路由相匹配时,服务器将执行与该路由关联的代码,并返回响应。

canduecho的专栏 1512

Golang Gin框架路由分组分文件

使用Gin框架写Go项目的时候,如果把路由都写在一个.go文件中,随着路由的数量的增加,会导致路由文件显得异常臃肿。分组后的go代码,虽然路由都实现路由分组,路由的逻辑显得清晰,但是路由文件还是集中在一个文件中,文件还是大。此时需要对路由进行分组并且分文件管理,更有利于代码的组织和维护,更好把项目做大,做强,再创辉煌。

地球流浪猫的博客 924

Gin入门指南:从零开始快速掌握Go Web框架Gin

中间件函数用于记录日志。路由和请求处理:Gin 提供了简单而灵活的路由功能,可以方便地定义不同URL路径的处理函数,并支持 GET、POST 等各种HTTP请求方法。函数用于返回成功结果,它接收 Gin 的上下文对象,以及三个自定义的参数,分别为状态码、提示信息和数据。一般来说,我们需要在处理请求的路由函数中使用 defer 语句将捕获的异常记录下来,所以我们可以通过中间件实现全局的异常处理。参数绑定和验证:Gin 提供了强大的参数绑定和验证功能,可以方便地将请求参数绑定到结构体中,并进行数据验证和转换。

赵士杰——成功并非一蹴而就,而是在持之以恒的努力中逐渐实现。 3085

【Golang】Gin框架:Go语言中的轻量级Web框架

Gin是一个用Go语言编写的高性能HTTP web框架,它提供了快速的HTTP路由、中间件支持以及JSON编码等功能。 Gin框架以其简洁的API和高效的性能著称,非常适合用来构建RESTful API和中小型Web应用。 - **Gin:Go 语言编写的 Web 框架,以更好的性能实现类似 Martini 框架的 API。** - Gin是一个golang的net/http库封装的web微框架,封装比较优雅,API友好,源码注释比较明确。具有快速灵活,容错方便等特点。

景天科技苑 5万+

Golang gin框架

gin框架学习一、Gin 介绍二、Gin 环境搭建三、golang 程序的热加载四、Gin 框架中的路由五、Gin HTML 模板渲染六、静态文件服务七、路由详解八、Gin 中自定义控制器九、Gin 中间件十、Gin 中自定义Model十一、Gin 文件上传十二、Gin 中的Cookie十三、Gin 中的Session十四、Gin 中使用GORM 操作mysql 数据库十五、原生 SQL 和 SQL 生成器十六、Gin 中使用GORM 实现表关联查询十七、 GORM 中使用事务十八、Gin 中使用go

book_longker的专栏 2万+

【Golang】Go语言web框架Gin响应客户端有哪些方式

Gin是一个用Go语言编写的web框架。它是一个类似于martini但拥有更好性能的API框架, 由于使用了httprouter,速度提高了近40倍。 如果你是性能和高效的追求者, 你会爱上Gin。Gin框架支持多种响应类型,包括字符串、JSON、XML和YAML等。

景天科技苑 5万+

Go Gin web框架的路由原理及中间件原理

Go Gin web框架的路由原理及中间件原理

梦~' 2951

一文解释电路中常用电子元器件应用和选型01

电容和二极管是电路中最常用的两个电子元器件,种类和系列众多,这里简单总结一下应用场景和选型方式 电容(Capacitor) 电容的种类(20种以上)和应用非常广泛,但是我经常遇到的无非就是下面这几种: 应用 1.隔直流。 2.旁路(去耦) 3.耦合 4.滤波 5.温度补偿 6.计时 7.调谐 8.整流 9.储能 种类 1. 陶瓷电容 2. 云母电容 3. 铝电解电容 4. 钽

weixin_43904073的博客 2236

STM32—时钟树(结合系统时钟函数理解)

时钟树的概念: 我们可以把MCU的运行比作人体的运行一样,人最重要的是什么?是心跳! 心脏的周期性收缩将血液泵向身体各处。心脏对于人体好比时钟对于MCU,微控制器(MCU)的运行要靠周期性的时钟脉冲来驱动,而这个脉冲的始源往往是由外部晶体振荡器提供时钟输入,最终转换为多个外部设备的周期性运作。这种时钟“能量”的传递路径犹如大树的养分由主干流向个分支,因此称为时钟树。 STM32时钟: 在STM32...

肥宅快乐博客 1万+

程序员零基础转行Golang开发,看这一篇就够了(含30G自学教程笔记)

我整理了一份 Go 学习路线,这份学习路线不以数量取胜,努力做到精简。从基础到进阶,从理论到实战

Cloud_Native的博客 2370

概述DeepLab系列(deeplab v1, deeplab v2, deeplab v3, deeplab v3+)

前言:图像分割是指像素级别的图像识别,即标注出图像中每个像素所属的对象类别。 语义分割更注重类别之间的区分,而实例分割更注重个体之间的区别。 DeepLab是由Google团队提出的一系列图像分割算法。 DeepLab v1 (2014年) Paper (ICLR 2015) Code 创新点: 空洞卷积(Atrous Conv); <解决编码过程中信号不断被下采样,细节丢失的问题> 全连接条件随机场(Fully-connected Conditional Random Field)。

ZSH12345678900的博客 5528

go学习指南资料整理

web入门:https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md gin微框架与入门项目:https://github.com/EDDYCJY/blog?tdsourcetag=s_pctim_aiomsg 好用的orm:http://gorm.book.jasperxu.c...

ac_blood的博客 269

【功能安全】【AutoSAR】程序流监控机制

目录 一、程序流执行的常见故障 二、程序流的监控机制 1、监控功能的实现 2、三种监督机制 a、生命监测机制 b、截止时间监测机制 c、逻辑程序流监测机制 一、程序流执行的常见故障 与程序流相关的故障,在ISO26262中第六章附录D中定义如下: — 执行阻塞; — 死锁; — 活锁; — 执行时间的不正确分配; — 软件要素间的不正确同步。 二、程序流的监控机制 1、监控功能的实现 AutoSAR中对程序流的监控功能的实现主要有“看门狗”栈(Watchdog Stack).

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 4517

Go最新【Go开源宝藏】Web框架 GIN 专场 (含思维导图) 持续更新(2),2024年最新讲的太清楚了

本人只是一个Go语言的初学者,这篇总结只是把我平常经常用到的都总结起来而已。具体详细的内容建议到去GIN的中文文档查看。当然这篇文章也会持续更新,记录我的Web框架操练过程这篇文章也会持续更新哒使用包在结构体上,绑定这个。Phone string `form:"phone" binding:"required,gt=10"` //不能为空并且大于10Name string `form:"name" binding:"NotNullAndAdmin"` // 自定义一个验证。

2401_84924864的博客 848

YOLOv12改进策略【小目标改进】| 添加专用于小目标的检测层 附YOLOv1~YOLOv12的检测头变化详解

在目标检测领域,小目标检测一直是一个具有挑战性的问题。算法以其高效快速的特点受到广泛关注,然而在面对小目标时,仍存在一些局限性。本文将介绍如何在中添加小目标检测层,以提高对小目标的检测能力。原始模型结构如下:详细内容参考:YOLOv12原始模型结构介绍 二、有效特征层对应的检测头类别 2.1 P3/8 - small检测头 原始模型中的对应的检测头主要用于检测相对较小的目标。其特征图大小相对较大,空间分辨率较高。 适合检测尺寸大概在到像素左右的目标。 2.2 P4/16 - medium检测头 这个检

Limiiiing的博客 1740

go学习资料以及开源代码

Go 语言方面的大牛,或者优秀 Go 项目的组织 mattn- 写了数百个 Go 项目,盛产优质项目 Unknwon- gogs/macaron 等项目作者,《The Way to Go》译者 Jinzhu- gorm/QOR 等作者 valyala- fasthttp/fastjson 等作者 vmihailenco- go-redis/go-pg 等作者 k...

开发之路 2318

KVM — 与 QEMU 和 Libvirt 的关系

目录目录 前言 KVM QEMU KVM 与 QEMU qemu-kvm Libvirt Libvirt 在 OpenStack 中的应用前言如果是刚开始接触虚拟机技术的话, 对上述的概念肯定会有所混淆, 傻傻的分不清. 尤其在看虚拟化技术文档时导致理解能力下降, 所以在开始学习虚拟化技术之前对这些概念有一个整体的认识和清晰的理解, 就显得很有必要了.KVMKVM(Kernel-basedVirtu

烟云的计算 5735

PostgreSQL:十五. 性能优化

十五. 性能优化 优化简介: PostgreSQL优化一方面是找出系统的瓶颈,提高PostgreSQL数据库整体的性能; 另一方面,需要合理的结构设计和参数调整,以提高用户操作响应的速度; 同时还要尽可能的节省系统资源,以便系统可以提供更大负荷的服务。 PostgreSQL数据库优化是多方面的,原则是减少系统的瓶颈,减少资源的占用,增加系统的反应速度。例如: 通过优化文件系统,提高磁盘IO的读写速度; 通过优化操作系统调度策略,提高PostgreSQL的在高负荷情况下负载能力; 优化表结构、索引、查询

数据知道的博客 4万+

Go--学习资料

gin文档: https://gowalker.org/github.com/gin-gonic/gin (官方) https://www.jianshu.com/p/a31e4ee25305 (简书) http://xf.shuangdeyu.com/movie/content.html?mid=25 (第三方) 学习资料: http://www.runoob.com/go/go-tutori...

Lan77 630

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【Golang】gin框架入门

gin

Suk_god的博客 1968

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

golang入门笔记——Gin

Gin简介: Gin是一个golang的微框架,基于httprouter,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 Gin特征: 1.速度快:基于基数树的路由,内存占用少。没有反射。可预测的API性能。 中间件支持:传入的HTTP请求可以由中间件链和最终操作处理。 2。Crash—free Gin可以捕获HTTP请求期间发生的panic并恢复它。这样,你的服务器将始终可用。 3.JSON验证 Gin可以解析和验证请求的JSON-例如,检查所需值的存在 4.路由分组 更好地组织

qq_43716830的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Golang Gin 实战(一)| 快速安装入门

Gin 是一个非常优秀的Golang Web Framework,它不光API友好,性能也非常高,并且设计简洁,便于入门。所以它(Gin)非常受欢迎,在Github上已经三万三千多个星星...

flysnow_org的博客 1654

【GO】Gin 框架从入门到精通完整教程

欢迎来到 Gin 框架完整教程!本教程将带你从零开始,系统学习 Go 语言最流行的 Web 框架 Gin,从基础知识到高级应用,再到实战项目开发。

xiaoxualg的博客 4093
上一篇: gopher-lua初步了解
下一篇: go-工具链
erlang_hell
博客等级 码龄14年 57粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值