前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Gin起服务有多快?(快速启一个)

Gin起服务有多快?(快速启一个)

作者头像
小锟哥哥
发布2022-05-10 08:20:36
4010
发布2022-05-10 08:20:36
举报
文章被收录于专栏:GoLang全栈

前言

任何一门技术或者框架都有他独特的定位,Gin 这个框架它更擅长的是拿来开发 API 服务

如果你用他来开发门户网站可能不会特别顺手

这里放出他们的 Github 官方地址:https://github.com/gin-gonic/gin

以及他们的中文文档地址:https://gin-gonic.com/zh-cn/docs

说下写这个系列文章的初衷和定位:

1、首先说下定位

这个系列的文章适合有一定基础的新手小白阅读

如果你已经有一些开发经验了,你就可以略过了,敬请期待我们其他系列的文章。

因为关注我的同学们,大家的开发能力都不太一样,所以我们不光要照顾中级的同学,还要照顾初级的同学。

2、希望通过这个系列的文章达到什么效果?

我希望看完此系列的文章之后,大家看完能非常熟悉的使用 gin 这个框架来完成一些基本的 API 服务开发。

既然是 API 的开发,肯定就不会出现有 HTML 页面渲染这些知识点了,如果你是想门户网站开发,这系列文章可能不太适合你。

3、这个系列文章要实现的业务是什么:

太复杂的业务逻辑不太适合入门,所以我们选择了一个比较简单的常见业务,开发一个基础功能的留言板。

这里面会涉及表单验证、数据库等知识点。

我们拒绝照搬官方文档,争取每篇文章都有干货

安装初始化

这里我们统一使用 GoMod 来进行包管理。

如果对 GoMod 不太熟悉的同学可以查看往期的文章,学习下 GoMod 的使用。

首先我需要新建一个用于存放工程的文件夹,然后在这个文件夹下面初始化我们的 GoMod 模块和项目。

代码语言:javascript
复制
# 初始化我们的 go mod 模块
go mod init gin-message
# 拉 gin 框架到工程
go get github.com/gin-gonic/gin

执行完毕后,你就能看到你的工程文件夹里面多了两个文件,分别是:go.mod 和 go.sum。

到这里我们的 Gin 就已经安装好了。

目前我们使用到的 gin 版本是 v1.7.4,Go 的版本是 1.17。

文章里面的代码运行环境全是在 Mac 系统下。

如果你是用的 Windows 发现有差异的,欢迎留言告诉我们。

开发工具使用的 GoLand。

初始化工程,快速启动一个服务

在我们的工程目录下面新建一个入口文件为 main.go 文件,你先依葫芦画瓢写入下面的代码,先来一个 helo :

代码语言:javascript
复制
package main

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

func main() {

 r := gin.Default()
 r.GET("/", func(c *gin.Context) {
  c.Writer.Write([]byte("hello"))
 })
 r.Run(":8080") // 监听并在 0.0.0.0:8080 上启动服务
}

整体运行结果如下:

左边是代码,右边浏览器访问效果。

实际开发中很少直接返回字符串,而是返回 json,所以我们修改下返回的数据:

代码语言:javascript
复制
r.GET("/", func(c *gin.Context) {
 c.JSON(200, map[string]interface{}{
  "msg": "操作成功",
 })
})

这样访问时返回的就是 json 了:

这样的代码还可以这样写效果是一样的:

代码语言:javascript
复制
r.GET("/", func(c *gin.Context) {
 c.JSON(http.StatusOK, gin.H{
  "msg": "操作成功",
 })
})

http.StatusOK 是对状态码 200 的一个封装,gin.h 底层也是对 map 的封装,感兴趣可以看下。

下一篇我们写怎么处理路由,敬请期待!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GoLang全栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 1、首先说下定位
      • 2、希望通过这个系列的文章达到什么效果?
        • 3、这个系列文章要实现的业务是什么:
        • 安装初始化
        • 初始化工程,快速启动一个服务
        相关产品与服务
        API 网关
        腾讯云 API 网关(API Gateway)是腾讯云推出的一种 API 托管服务,能提供 API 的完整生命周期管理,包括创建、维护、发布、运行、下线等。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档