• Go语言学习(八)-- Gin入门


    Gin 是一个 Go (Golang) 编写的轻量级 http web 框架,运行速度非常快。
    Gin 最擅长的就是 Api 接口的高并发,如果项目的规模不大,业务相对简单,这个时候我们
    也推荐您使用 Gin
    当某个接口的性能遭到较大挑战的时候,这个还是可以考虑使用 Gin 重写接口。
    Gin 也是一个流行的 golang Web 框架, Github Strat 量已经超过了 50k
    Gin 的官网: https://gin-gonic.com/zh-cn/
    Gin Github 地址: https://github.com/gin-gonic/gin

     一、Gin环境的搭建

    1.下载并安装gin

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

    在安装之前如果你是用的是go mod来管理项目的话就需要我们自己选择在我们需要的目录下面执行go mod init xxxx(最好是和你的项目名称一致)。这样就会在当前目录下产生一个go.mod文件。然后再进行gin的下载安装这样就能在当前目录来使用我们的gin'框架了。

    2.gin 引入到代码中:

    import "github.com/gin-gonic/gin"
    3. (可选)如果使用诸如 http.StatusOK 之类的常量,则需要引入 net/http 包:
    import "net/http"
    当然在我们日常使用当中这些包都是 自动导入的,当我们在需要这些包的时候我们的编辑器就会自动帮我们进行导入,所以这些问题并不需要我们去担心,而关键在于要讲这些需要用到的外部包 down下来
    4 、新建 Main.go 配置路由
    1. package main
    2. import "github.com/gin-gonic/gin"
    3. func main() {
    4. r := gin.Default()
    5. r.GET("/", func(context *gin.Context) {
    6. context.String(200, "值:%v", "Hello gin!!!")
    7. })
    8. r.Run() //启动一个web服务 默认8080端口号 也可以自己传入制定端口号
    9. }
    5 、运行你的项目
    go run main.go
    6 、要改变默认启动的端口
    r.Run(":9000")

     二、golang程序的热加载

    所谓热加载就是当我们对代码进行修改时,程序能够 自动重新加载并执行 ,这在我们开发中
    是非常便利的,可以快速进行代码测试,省去了每次手动重新编译
    beego 中我们可以使用官方给我们提供的 bee 工具来热加载项目,但是 gin 中并没有官方提
    供的热加载工具,这个时候我们要实现热加载就可以 借助第三方的工具
    这里我使用的第三方工具就是fresh
    github地址:https://github.com/gravityblast/fresh
    Fresh是一个命令行工具,每次保存Go或模版文件时,该工具都会生成或重新启动Web应用程序。Fresh将监视文件事件,并且每次创建/修改/删除文件时,Fresh都会生成并重新启动应用程序。如果go build返回错误,它会将记录在tmp文件夹中。

    安装

    go get github.com/pilu/fresh

    使用

    1. # 进入你的项目目录
    2. $ cd /your_project
    3. # 启动
    4. $ fresh

     

  • 相关阅读:
    如何看待中小企业实现数字化转型难的问题?_光点科技
    [附源码]java毕业设计java航班资源车管理系统
    微软:我已把显存优化做到了极致,还有谁?
    恒运资本:三大利好来袭,人民币直线拉升!股市能否大反攻?
    C# 模式匹配完全指南
    纷享销客2022新增长系列之《高科技行业橙皮书》重磅发布
    JSD-2204-MyBatis动态sql,修改,查询-Day04
    docker容器内访问主机端口服务
    【深度学习】Pytorch面试题:什么是 PyTorch?PyTorch 的基本要素是什么?Conv1d、Conv2d 和 Conv3d 有什么区别?
    MySQL数据库期末考试试题及参考答案(09)
  • 原文地址:https://blog.csdn.net/qq_45875349/article/details/127942350