• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Go常用Web框架-Gin框架入门

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Go常用的Web框架,又简单快速的Gin、以及开发高效的模块化Beego。具体使用哪个要根据自己业务来确定,这里先介绍一下Gin,

Gin是Go语言最流行的轻量级Web框架之一,因为它是一个给予Httpounter包的Web框架。

1. 安装

1.1 Gin框架

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

1.2 Gin处理Session

 go get -u github.com/gin-contrib/sessions

导入这个包以后,就可以在Go代码里面使用

 github.com/gin-contrib/sessions/cookie
 github.com/gin-contrib/sessions/redis

写到这里基本就可以Demo了,基本上Gin常用操作都在里面了。

package main

import (
	"fmt"
	"log"
	"net/http"
	"time"

	"github.com/gin-contrib/sessions" // 导入session存储引擎
	"github.com/gin-contrib/sessions/cookie"
	"github.com/gin-gonic/gin" // 导入gin框架包
)

func main() {
	r := gin.Default()
	// 创建基于cookie的存储引擎,password123456参数是用于加密的密钥
	store := cookie.NewStore([]byte("password123456"))
	// 设置session中间件,参数mysession,指的是session的名字,也是cookie的名字

	r.Use(sessions.Sessions("mysession", store)) // store是前面创建的存储引擎,我们可以替换成其他存储引擎
	r.GET("/hello", func(c *gin.Context) {
		// 初始化session对象
		session := sessions.Default(c)
		// 通过session.Get读取session值
		// session是键值对格式数据,因此需要通过key查询数据
		if session.Get("hello") != "world" {
			session.Set("hello", "world") // 设置session数据
			session.Delete("shirdon")     // 删除session数据
			session.Save()                // 保存session数据
			// session.Clear()	// 删除整个session
		}
		session.Set("time_now", time.Now().Format("2021-01-01 15:04:55"))
		c.JSON(200, gin.H{"hello": session.Get("hello"), "time_now": session.Get("time_now")})
	})
	r.POST("/post", func(c *gin.Context) {
		file, _ := c.FormFile("file")                  // file是表单字段名字
		log.Println(file.Filename)                     // 打印上传的文件名
		c.SaveUploadedFile(file, "./data/shirdon.jpg") // 将上传的文件,保存到./data/shirdon.jpg 文件中
		c.String(http.StatusOK, fmt.Sprintf("\'%s\' uploaded!", file.Filename))
	})
	r.Run(":8000")
}

func Handler(c *gin.Context) {
	data, err := c.Cookie("my_cookie") // 根据cookie名字读取cookie值
	if err != nil {
		c.String(200, data) // 直接返回cookie值
		return
	}
	c.String(200, "not found!")
}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go web gin 框架 中间件的学习和使用 - 新Sir发布时间:2022-07-10
下一篇:
【go语言学习】web开发框架gin发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap