# Singleton **Repository Path**: l_g_g/singleton ## Basic Information - **Project Name**: Singleton - **Description**: 实现一个单例模式 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-01 - **Last Updated**: 2024-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: Go语言, demo ## README # Singleton #### 介绍 实现一个单例模式 #### 任务描述 单例模式是一种常用的设计模式,它确保一个类只有一个实例,并提供一个全局访问点。 在Go语言中,由于其并发特性,实现单例模式需要特别注意线程安全问题。 #### 使用说明 1. 定义一个单例结构:创建一个名为 Singleton 的结构体,包含一些基本属性,例如 Instance 指针和 Data 字符串。 2. 实现单例模式: - 使用 Go 的并发安全特性,确保 Singleton 类型的实例在整个程序中只有一个。 - 提供一个 GetInstance 方法,用于获取 Singleton 实例的指针。 - 如果实例不存在,则创建一个新的实例;如果已存在,则返回已创建的实例。 3. 线程安全:确保 GetInstance 方法在多线程环境下是线程安全的。 4. 测试: - 编写测试代码,验证 Singleton 实例是否全局唯一。 - 测试在并发环境下 GetInstance 方法的行为。 #### 运行截图 main: ![img.png](img.png) test ![img_1.png](img_1.png)