我是靠谱客的博主 大胆手链,最近开发中收集的这篇文章主要介绍Go 语言圣经 9.5 sync.Once初始化9.5 sync.Once初始化,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

9.5 sync.Once初始化

知识点

  • 1.初始化延迟到需要的时候再去做就是一个比较好的选择–懒加载
  • 2.所有并发的问题都可以用一致的、简单的既定的模式来规避
  • 3.多个goroutine都需要访问的变量,使用互斥条件来访问

代码

  • 章节中的例子

//Icon用到了懒初始化(lazy initialization)
var icons map[string]image.Image
var loadIconsOnce sync.Once
func test_sync_Once()
{
//待完善
}
func loadIcons() {
icons = make(map[string]image.Image)
//icons["spades.png"] = loadIcon("spades.png")
//icons["hearts.png"] = loadIcon("hearts.png")
//icons["diamonds.png"] = loadIcon("diamonds.png")
//icons["clubs.png"] = loadIcon("clubs.png")
}
func Icon(name string) image.Image {
loadIconsOnce.Do(loadIcons)
return icons[name]
}
——不足之处,欢迎补充——

备注

《Go 语言圣经》

  • 学习记录所使用的GO版本是1.8
  • 学习记录所使用的编译器工具为GoLand
  • 学习记录所使用的系统环境为Mac os
  • 学习者有一定的C语言基础

代码仓库

最后

以上就是大胆手链为你收集整理的Go 语言圣经 9.5 sync.Once初始化9.5 sync.Once初始化的全部内容,希望文章能够帮你解决Go 语言圣经 9.5 sync.Once初始化9.5 sync.Once初始化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部