单例模式 — 设计模式

news/2024/10/31 11:12:43/

单例模式(Singleton Pattern) 是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取该实例。这个模式在多种编程语言和框架中都有广泛应用,特别是在需要控制资源访问或实现全局状态管理的场景中。

单例模式—题目链接

package mainimport ("bufio""fmt""os""strconv""strings""sync"
)type ShopCarManager struct {item_map map[string]int
}func (s *ShopCarManager) AddItemToCar(itemName string, count int) {if _, ok := s.item_map[itemName]; !ok {s.item_map[itemName] = count} else {s.item_map[itemName] += count}
}func (s *ShopCarManager) PrintAllItemInfo() {for k := range s.item_map {fmt.Println(k, s.item_map[k])}
}var once sync.Once
var shopCarInstance *ShopCarManagerfunc GetShowCarInstance() *ShopCarManager {once.Do(func() {shopCarInstance = &ShopCarManager{make(map[string]int)}})return shopCarInstance
}func main() {var shop_instance = GetShowCarInstance()var reader = bufio.NewScanner(os.Stdin)for reader.Scan() {if reader.Text() == "" {break}var str = reader.Text()var item_info = strings.Split(str, " ")var count, _ = strconv.Atoi(item_info[1])shop_instance.AddItemToCar(item_info[0], count)}shop_instance.PrintAllItemInfo()
}

http://www.ppmy.cn/news/1543326.html

相关文章

MySQL索引——针对实习面试

目录 1. 索引的定义和作用2. 索引的类型3. 索引的创建与删除4. 索引的选择与优化5. 索引的局限性6. 最左前缀原则7. 覆盖索引8. 索引碎片及其影响9. 聚簇索引与非聚簇索引10. 索引对数据库写操作的影响11. 联合索引 以下是一些MySQL索引相关的面试题总结: 1. 索引…

JavaScript 判断数据类型有哪些方法?

有四种方法: 方法一:typeof typeof 运算符返回一个字符串,表示操作数的类型。下图是使用 typeof 判断类型的汇总: 可以看到,typeof 判断类型有两个缺点: 对 null 值的判断是 object,这个是历…

Mac下载 安装MIMIC-IV 3.0数据集

参考blog MIMIC IV 3.0数据库安装方法_mimic数据下载-CSDN博客 MIMIC IV数据库安装(二)_mimic数据库安装-CSDN博客 MIMIC-IV3.0安装_mimic iv 3.0-CSDN博客 MIMIC-IV-v2.0安装教程_mimic iv 安装教程-CSDN博客 MIMIC IV 3.0数据库安装方法或者思路&…

JS中let var 和const区别

在JavaScript中,let、var 和 const 都是用来声明变量的关键字,但它们之间有几个关键的区别: 作用域(Scope): var 声明的变量拥有函数作用域(function scope),这意味着如果 var 变量在…

桌面程序设计类库MFC是气息奄奄,还是老当益壮呢?

提到桌面程序设计类库,很多人还能想到MFC,这个也忒老了吧?本文就介绍一下这个类库的前生今生,看看有哪些类库可以平替他。 一、MFC是啥,有什么优缺点 MFC(Microsoft Foundation Classes)是微软…

fastGpt

参考本地部署FastGPT使用在线大语言模型 1 rockylinx 1 ollama安装 在rockylinux中安装的,ollama由1.5G,还是比较大,所有采用在windows下下载,然后安装的方式,linux安装 tar -C /usr -xzf ollama-linux-amd64.tgz #…

第七章利用CSS和多媒体美化页面

7.1 CSS链接的美化 7.1.1.文字链接的美化 在HTML5中&#xff0c;<a></a >标签始终定义超链接&#xff0c;用于从一张页面链接到另一张页面。<a>元素最重要的属性是href 属性&#xff0c;它指示链接的目标&#xff0c;如果未设置href属性&#xff0c;后续多个…

【开源免费】基于SpringBoot+Vue.JS在线文档管理系统(JAVA毕业设计)

本文项目编号 T 038 &#xff0c;文末自助获取源码 \color{red}{T038&#xff0c;文末自助获取源码} T038&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…