Gin框架笔记(一) Gin框架的安装与Hello World

简介: Gin框架笔记(一) Gin框架的安装与Hello World

什么是Gin框架

Gin是一个golang的微框架,基于 httprouter,封装比较优雅,API友好,源码注释比较明确。具有快速灵活,容错率高,高性能等特点。框架更像是一些常用函数或者工具的集合。借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。

Gin框架的特性

  • 快速
    基于 Radix 树的路由,小内存占用。没有反射。可预测的 API 性能。
  • 支持中间件
    传入的 HTTP 请求可以由一系列中间件和最终操作来处理。 例如:Logger,Authorization,GZIP,最终操作 DB。
  • Crash 处理
    Gin 可以 catch 一个发生在 HTTP 请求中的 panic 并 recover 它。这样,你的服务器将始终可用。例如,你可以向 Sentry 报告这个 panic!
  • JSON 验证
    Gin 可以解析并验证请求的 JSON,例如检查所需值的存在。
  • 路由组
    更好地组织路由。是否需要授权,不同的 API 版本…… 此外,这些组可以无限制地嵌套而不会降低性能。
  • 错误管理
    Gin 提供了一种方便的方法来收集 HTTP 请求期间发生的所有错误。最终,中间件可以将它们写入日志文件,数据库并通过网络发送。
  • 内置渲染
    Gin 为 JSON,XML 和 HTML 渲染提供了易于使用的 API。
  • 可扩展性
    我们想对中间件进行修改或添加中间件非常的简单

Gin框架的安装

Gin框架的安装非常简单,我们只需要打开终端,输入以下命令即可:

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

当然这样还是不行,我们需要打开终端,到项目路径下,输入go mod init 项目名,然后新建文件,输入:

package main
import "github.com/gin-gonic/gin"
func main() {
  r := gin.Default()
  
}

但是这时候它可能是这样的:

这时候我们在终端输入:

go mod tiddy

像下面这样就可以了:

Gin框架代码示例

我们可以尝试与Web浏览器进行一个简单的交互,尝试在网页中打印一个Hello world(毕竟是梦的开始),代码如下:

package main
import "github.com/gin-gonic/gin"
func main() {
  r := gin.Default() //创建路由
  r.GET(
    "/", func(c *gin.Context) {
      c.String(200, "hello World")
    })
  r.Run(":8080")
}

我们运行它,然后访问http://127.0.0.1:8080/就可以看到:

说明我们的代码就运行成功了!

相关文章
|
Go API 网络架构
Gin框架快速入门1
Gin框架快速入门1
406 0
|
SQL 关系型数据库 MySQL
gin框架学习-Gorm入门指南
Snake Case命名风格,就是各个单词之间用下划线(_)分隔,首字母大写区分一个单词,例如: CreateTime的Snake Case风格命名为create_time
1007 0
gin框架学习-Gorm入门指南
|
缓存 API C语言
文件的缓冲区
文件的缓冲区
430 1
|
Kubernetes Linux Docker
Docker容器生产实践1——永远设置容器内存限制
背景 在默认情况下,docker容器并不会对容器内部进程使用的内存大小进行任何限制。对于PaaS系统而言,或者对于直接使用docker的用户而言,这非常危险。
4107 0
|
Ubuntu 关系型数据库 Linux
Linux数据库安装
本文介绍了在CentOS 8.0和Ubuntu 22.04系统上安装、配置和启动MariaDB数据库服务器的详细步骤。包括通过`yum`和`apt`包管理器安装MariaDB服务,启动并检查服务运行状态,设置root用户密码以及连接数据库的基本操作。此外,还展示了如何在Ubuntu上更新软件包列表、安装依赖项,并验证MariaDB的版本和运行状态。通过这些步骤,用户可以成功部署并初始化MariaDB环境,为后续数据库管理与应用开发奠定基础。
884 61
|
JavaScript
Pinia 与 Vuex 4 相比有哪些优缺点?
Pinia 与 Vuex 4 相比有哪些优缺点?
813 57
|
存储 安全 数据库
数据库的索引都有哪些类型?如何选择?
【8月更文挑战第17天】数据库的索引都有哪些类型?如何选择?
1571 0
|
数据管理 API 数据库
探索Android Jetpack:现代安卓开发的利器
Android Jetpack是谷歌为简化和优化安卓应用开发而推出的一套高级组件库。本文深入探讨了Jetpack的主要构成及其在应用开发中的实际运用,展示了如何通过使用这些工具来提升开发效率和应用性能。
|
JavaScript
Vue2.0、Vue3.0分别使用v-model封装组件[Vue必会]
本文介绍了在Vue 2和Vue 3中如何使用`v-model`来实现组件间的双向数据绑定,包括在Vue 2中使用`value`和`input`事件,以及在Vue 3中使用`modelValue`和`update:modelValue`事件的方法。
1339 22

热门文章

最新文章