zvvq技术分享网

golang框架中第三方服务的依赖管理(golang工作)

作者:zvvq博客网
导读在 go 框架中管理第三方服务依赖:go modules: 存储依赖项于 go.mod 文件中,使用 go get 和 go mod tidy 命令管理。vendor 目录: 存储第三方依赖项副本。第三方依赖管理工具: dep、glide、go

在 go 框架中管理第三方服务依赖:go modules: 存储依赖项于 go.mod 文件中,使用 go get 和 go mod tidy 命令管理。vendor 目录: 存储第三方依赖项副本。第三方依赖管理工具: dep、glide、godep 等,提供更高级的依赖管理功能。实战案例:使用 gin 和 mysql通过 go modules 或 vendor 目录安装 gin 和 mysql 依赖项。使用 gin 创建 web 服务器。初始化连接 mysql 数据库。使用数据库查询和插入功能。 zvvq好,好zvvq

内容来自samhan

Go 框架中第三方服务的依赖管理 本文来自zvvq

在 Go 应用程序中集成第三方服务时,依赖管理至关重要。本文介绍了在 Go 框架中管理依赖关系的不同方法,并提供了一个实战案例。

本文来自zvvq

使用 Go Modules zvvq.cn

”; 内容来自zvvq,别采集哟

Go Modules 是 Go 1.11 版本引入的依赖管理系统。它将依赖关系存储在 go.mod 文件中,并使用 go get 和 go mod tidy 命令来获取和管理依赖项。 zvvq好,好zvvq

1

内容来自samhan666

2 内容来自zvvq

3 copyright zvvq

4 内容来自samhan

5

zvvq.cn

6

本文来自zvvq

7

内容来自samhan

// go.mod 内容来自zvvq

module myapp

内容来自zvvq

require ( 本文来自zvvq

<a style=color:f60; text-decoration:underline; href="https://www.zvvq.cn/zt/15841.html" target="_blank">git</a>hub.com/gin-gonic/gin v1.7.7 zvvq

github.com/go-sql-driver/mysql v1.6.0 内容来自zvvq

)

本文来自zvvq

使用 Vendor 目录 zvvq

在 Go 1.10 版本之前,Go 生态系统使用 Vendor 目录来管理依赖性。Vendor 目录包含的所有第三方依赖项的副本。 内容来自zvvq

1

copyright zvvq

2 内容来自samhan666

3 zvvq好,好zvvq

4

zvvq好,好zvvq

5

copyright zvvq

// vendor/github.com/gin-gonic/gin

内容来自samhan

// ...

内容来自samhan

// vendor/github.com/go-sql-driver/mysql

内容来自samhan

// ... zvvq好,好zvvq

使用依赖管理工具 内容来自zvvq

除了 Go Modules 和 Vendor 目录之外,还有其他第三方工具可以用来管理依赖关系,例如:

zvvq好,好zvvq

dep(https://github.com/golang/dep)glide(https://github.com/Masterminds/glide)godep(https://github.com/tools/godep)

实战案例:使用 Gin 和 MySQL

本文来自zvvq

现在,让我们通过一个实战案例来演示如何使用 Gin 和 MySQL 作为第三方服务的示例。 内容来自zvvq

1. 安装依赖关系 本文来自zvvq

使用 Go Modules:

内容来自samhan666

1 zvvq

2 zvvq.cn

go get github.com/gin-gonic/gin

zvvq

go get github.com/go-sql-driver/mysql 内容来自samhan666

使用 Vendor 目录:

内容来自zvvq,别采集哟

1

本文来自zvvq

go mod vendor 内容来自zvvq,别采集哟

2. 创建 Gin Web 服务器 zvvq

1

zvvq.cn

2 zvvq

3

本文来自zvvq

4

zvvq

5

内容来自zvvq

6 内容来自zvvq,别采集哟

7 内容来自zvvq

8 本文来自zvvq

9

本文来自zvvq

10

zvvq

11 内容来自zvvq,别采集哟

12 内容来自zvvq,别采集哟

13 内容来自zvvq,别采集哟

14 本文来自zvvq

15 zvvq.cn

16

copyright zvvq

17 内容来自samhan

18 zvvq好,好zvvq

19 内容来自samhan

package main

copyright zvvq

import (

zvvq好,好zvvq

"fmt"

内容来自zvvq

"github.com/gin-gonic/gin"

zvvq

) 内容来自samhan666

func main() { copyright zvvq

r := gin.Default()

zvvq.cn

r.GET("/", func(c gin.Context) { copyright zvvq

c.JSON(200, gin.H{ zvvq.cn

"message": "Hello World!", 内容来自samhan

}) zvvq好,好zvvq

})

内容来自zvvq,别采集哟

r.Run() zvvq

}

内容来自zvvq,别采集哟

3. 连接 MySQL 数据库 本文来自zvvq

1 本文来自zvvq

2

zvvq.cn

3 本文来自zvvq

4 zvvq

5

内容来自zvvq,别采集哟

6 zvvq.cn

7

zvvq

8

zvvq.cn

9

内容来自zvvq,别采集哟

10 zvvq

11 本文来自zvvq

12 zvvq好,好zvvq

13 zvvq.cn

14

copyright zvvq

15

zvvq.cn

16

内容来自zvvq

17 zvvq好,好zvvq

18

内容来自samhan666

19 内容来自samhan

20 zvvq好,好zvvq

21

copyright zvvq

22

zvvq.cn

23

copyright zvvq

24

内容来自zvvq,别采集哟

25 zvvq

import ( zvvq好,好zvvq

"database/sql"

本文来自zvvq

_ "github.com/go-sql-driver/mysql"

zvvq

)

zvvq

var db sql.DB copyright zvvq

func init() {

内容来自samhan666

dsn := "user:password@tcp(127.0.0.1:3306)/database_name"

zvvq

db, _ = sql.Open("mysql", dsn) 内容来自samhan

} zvvq.cn

func GetUsers() []User {

copyright zvvq

rows, _ := db.Query("SELECT FROM users") 内容来自zvvq,别采集哟

var users []User zvvq

for rows.Next() {

内容来自samhan

var u User zvvq好,好zvvq

_ = rows.Scan(&u.ID, &u.Name, &u.Email)

内容来自samhan

users = append(users, u)

内容来自samhan

}

copyright zvvq

return users 内容来自zvvq

} 内容来自zvvq,别采集哟

4. 添加用户 zvvq

1

内容来自zvvq

2 内容来自samhan666

3

zvvq.cn

4

内容来自zvvq

func AddUser(u User) { 内容来自zvvq,别采集哟

stmt, _ := db.Prepare("INSERT INTO users (name, email) VALUES (?, ?)")

copyright zvvq

_, _ = stmt.Exec(u.Name, u.Email)

内容来自samhan666

} 本文来自zvvq

以上就是golang框架中第三方服务的依赖管理的详细内容,更多请关注其它相关文章! zvvq.cn