2023-07-09 Go 在 Go 中如何编写测试代码 在程序开发过程中,测试是非常重要的一环,甚至有一种开发模式叫 TDD(测试驱动开发),先编写测试,再编写功能代码,通过测试来推动整个开发的进行,可见测试在开发中的重要程度。 为此,Go 语言提供了 testing 框架来方便我们编写测试,本文将向大家介绍在 Go 中如何编写测试代码。 阅读全文…
2023-06-23 Go 在 Go 中如何实现类似 Python 中的 with 上下文管理器 熟悉 Python 的同学应该知道 Python 中的上下文管理器非常好用,在对数据库进行读写、访问文件等操作时,上下文管理器能够确保资源在使用后得到释放。在 Go 中是否也能实现上下文管理器呢?这便是本文所要探讨的话题。 阅读全文…
2023-06-21 Go Go 语言中 database/sql 是如何设计的 常见的关系型数据库都支持标准的 SQL 语言,所以无论是 MySQL、PostgreSQL 还是 SQL Server,我们都可以使用相同的 SQL 语句来对其进行操作。这种思想同样体现在 Go 语言的数据库操作中,在 Go 语言中内置了 database/sql 包,它只对外暴露了一套统一的编程接口,便可以操作不同数据库。 阅读全文…
2023-06-16 Kubernetes 一文读懂 Kubernetes 存储设计 在 docker 的设计中,容器内的文件是临时存放的,当容器被删除后,容器内部的数据将会一同被清空。不过,我们可以通过在 docker run 启动容器时,使用 --volume/-v 参数来指定挂载卷,这样就能够将容器内部的路径挂载到主机,当我们在容器内部存放数据时会被同步到被挂载的主机路径中,容器删除后,保存到主机路径中的数据仍然存在。 docker 通过挂载卷的方式解决了持久化存储的问... 阅读全文…
2023-06-15 Go 在 Go 中使用 sqlx 替代 database/sql 操作数据库 sqlx 是 Go 语言中一个流行的第三方包,它提供了对 Go 标准库 database/sql 的扩展,旨在简化和改进 Go 语言中使用 SQL 的体验,并提供了更加强大的数据库交互功能。sqlx 保留了 database/sql 接口不变,是 database/sql 的超集,这使得将现有项目中使用的 database/sql 替换为 sqlx 变得相当轻松。 阅读全文…
2023-06-05 Go 在 Go 中如何使用 database/sql 来操作数据库 在现代软件开发中,数据库扮演着至关重要的角色,用于存储和管理应用程序的数据。针对不同的数据库系统,开发人员通常需要使用特定的数据库驱动来操作数据库,这往往需要开发人员掌握不同的驱动编程接口。在 Go 语言中,好在有一个名为 database/sql 的标准库,提供了统一的编程接口,使开发人员能够以一种通用的方式与各种关系型数据库进行交互。 阅读全文…
2023-05-27 Go Go 语言流行 ORM 框架 GORM 使用介绍 GORM 是 Go 语言中最受欢迎的 ORM 库之一,它提供了强大的功能和简洁的 API,让数据库操作变得更加简单和易维护。本文将详细介绍 GORM 的常见用法,包括数据库连接、模型定义、CRUD、事务管理等方面,帮助大家快速上手使用 GORM 进行 Web 后端开发。 阅读全文…
2023-05-14 Python 在 Python 中如何使用并发模型编程 关于什么是并发模型,我在这里引用 Go 语言联合创造者 Rob Pike 的一段话: 并发是指一次处理多件事。并行是指一次做多件事。二者不同,但是有联系。一个关于结构,一个关于执行。并发用于制定方案,用来解决可能(但未必)并行的问题。 阅读全文…
2023-05-08 Go Go 语言现代命令行框架 Cobra 详解 Cobra 是一个 Go 语言开发的命令行(CLI)框架,它提供了简洁、灵活且强大的方式来创建命令行程序。它包含一个用于创建命令行程序的库(Cobra 库),以及一个用于快速生成基于 Cobra 库的命令行程序工具(Cobra 命令)。Cobra 是由 Go 团队成员 spf13 为 Hugo 项目创建的,并已被许多流行的 Go 项目所采用,如 Kubernetes、Helm、Docker (distribution)、Etcd 等。 阅读全文…
2023-04-25 Go 在 Go 中如何使用 Viper 来管理配置 Viper 是一个功能齐全的 Go 应用程序配置库,支持很多场景。它可以处理各种类型的配置需求和格式,包括设置默认值、从多种配置文件和环境变量中读取配置信息、实时监视配置文件等。无论是小型应用还是大型分布式系统,Viper 都可以提供灵活而可靠的配置管理解决方案。在本文中,我们将深入探讨 Viper 的各种用法和使用场景,以帮助读者更好地了解和使用 Viper 来管理应用程序配置。 阅读全文…