第 3 章:GO 的接口和抽象 拓展篇 - CRUD 接口实现示例 在前面的第3章中,我们用简单的代码展示了GO的接口和抽象方法,但是代码的示例较少,部分同学可能会觉得理解起来比较抽象。因此在本章中,我们将通过一个具体的例子来演示如何使用 GO 语言的接口来实现抽象化的设计。我们将定义一个 CrudInterface 接口,该接口将提供 CRUD(创建、读取、更新、删除)操作的通用方法。然后,我们将为两种不同的存储系统(MySQL 和 Redis)提供该接口的具体实现。此外,我们还将展示如何根据传入参数中的 URI 协议来动态选择使用哪种存储实现。 Implements Implements CrudInterface +Create(ctx context.Context, key string, value interface) : error +Read(ctx context.Context, key string) (interface, error) +Update(ctx context.Context, key string, value interface) : error +Delete(ctx context.Context, key string) : error MySQLStore +Create(ctx context.Context, key string, value interface) : error +Read(ctx context.Context, key string) (interface, error)