Go 语言-Go Module应用构建案例

前一篇文档已经给大家讲解了Go语言构建模式的发展,想必一定对Go Module的概和工作模式已经非常熟悉了。也对于如果使用go mod命令讲go的项目变为Go module进行项目的构建也有了初步的动手能力。

不过真的在生产过程中,作为Go的开发者掌握以上的操作步骤只能说是入门环境 ,真正难的是如何在后期的开发过程中管理好这些Go module的依赖包才是最关键的。

下面我将带你把Go开发中Go module的常见操作一个一个讲解清楚,并带上实际的案例。

如何在Go Module中添加一个包

当项目进入了初步的开发阶段,这个时候我们的任务就是要为这个项目导入第三方的依赖包,并通过引入的依赖包完成一些特定的功能。到了开发后期。有时候为了添加某个功能,也需要为此添加一个第三方的依赖包。

这个时候我们遇到的第一个问题就是Go module如何添加以一个新包呢?

那我们先回到上一篇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() // 监听并在 0.0.0.0:8080 上启动服务
}

现在我要为这个项目添加个功能:

package main

import (
	"github.com/gin-contrib/sessions"
	"github.com/gin-contrib/sessions/cookie"
	"github.com/gin-gonic/gin"
)

func main() {
   
	r := gin.Default()

	// 设置session存储引擎为cookie
	store := cookie.NewStore([]byte("secret"))
	r.Use(sessions.Sessions("mysession", store))

	r.GET("/ping", func(c *gin.Context) {
   
		session := sessions.Default(c)
		session.Set("message", "pong")
		session.Save()
		c.JSON(200, gin.H{
   
			"message": session.Get("message"),
		})
	})

	r.Run() // 监听并在 0.0.0.0:8080 上启动服务
}

不过现在直接进行build就会报错

main.go:4:2: no required module provides package github.com/gin-contrib/sessions; to add it:
	go get github.com/gin-contrib/sessions
main.go:5:2: no required module provides package github.com/gin-contrib/sessions/cookie; to add it:
	go get
  • 16
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值