Home
Projects icon
BOX OAI.JS
Books
Links
About
  • Go源码解析之atomic

    2020-11-08 go sync atomic

    今天我们来聊聊go的atomic pkg,atomic是go并发编程中最为基础的库。如果说它是go并发编程的基石一点也不为过,像标准库中大家使用率非常高的Mutex, RWMutex,WaitGroup,Once等的实现都依赖于atomic。 Atomic简介 atomic提供一系列用于实现同步功能的、底层的,原子的方法: AddT 系列将增量增加到源值上,并返回新值。 CompareAndSwapT 系列比较两个变量的值,并进行交换。 SwapT系列交换值,并返回旧值。 LoadT 系列获取值。 StoreT 系列更新值。 Value 存储器,支持Load,Store。 这些方法是原子操作,不会被CPU中断,也就说在多 …

    阅读更多
  • Go设计模式之Factory

    2020-10-14 go 设计模式

    Factory - 工厂模式 工厂模式在Go中使用的非常广泛,比如常用于数据的读写模块。假设我们需要从某种介质中读取数据,并将更新后的结果保存到该介质中。考虑到以后可能更换为其他类型的介质,为了避免日后更换介质而大面积变更代码,我们就会用到本模式。 实现 1.定义工厂方法所创建对象的接口 假设我们的存储模块只有Read和Write两个功能,我们需要先定义存储器inteface。 1package store 2 3import "io" 4 5type Store interface { 6 Read(string) ([]byte, error) 7 Save(string, []byte) (error) 8} …

    阅读更多
  • Go设计模式之Singleton

    2020-09-30 go 设计模式

    Singleton - 单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 实现 饿汉式 饿汉式单例是指在方法调用前,实例就已经创建好了。 按照用法使用,可以看到控制台输出10次单例的内存地址是一样的。 1package main 2 3import ( 4 "fmt" 5 "sync" 6 "time" 7) 8 9type ( 10 server struct { 11 port int 12 } 13) 14 15var ( 16 instance = &server{} 17) 18 19func getServerSingleton() *server …

    阅读更多
  • Go工具链之godoc

    2020-09-27 go godoc

    在写boxgo的过程中,想要生成漂亮的godoc,发现不太熟悉godoc的用法,所以就有了本篇文章,记录一下。 Go团队非常重视文档,文档对项目的可阅读性、可维护性起到重要作用,所以写好文档变得非常重要。Go团队提供了godoc工具以帮助开发者方便、准确,容易的生成项目文档。godoc解析Go源代码(包括注释),并以HTML或纯文本格式生成文档。 生成文档 提取规则: 类型、变量、常量、函数,包都可以通过在声明的前面写注释的方法生成文档(中间不要有空行)。 1// Package doc 包注释 --- good 2package doc 3 4type ( 5 // UserType 类型注释 --- good 6 …

    阅读更多
    • ««
    • «
    • 1
    • 2
    • »
    • »»

Amazing Gao

Find, discover, explorer and enjoy!
阅读更多

精选文章

  • 基于信创的互金应用探索与实践
  • 算法(第4版)
  • Go工具链之compile初探
  • Rancher初体验
  • Go项目Gitlab CICD提速指南

最新文章

  • 如何说孩子才会听,怎么听孩子才肯说
  • Go Code Review
  • 基于信创的互金应用探索与实践
  • 算法(第4版)
  • Go工具链之compile初探

分类

GO 9 CICD 1 LINUX 1 RANCHER 1 UNIX 1

专栏

GO工具链 3 GO源码解析 2 GO设计模式 2 RANCHER系列 1

标签

GO 10 BOOKNOTES 2 DOCKER 2 SYNC 2 设计模式 2 ATOMIC 1 CICD 1 CODE-REIVEW 1 COMPILE 1 DEVOPS 1
所有标签
ATOMIC1 BOOKNOTES2 CICD1 CODE-REIVEW1 COMPILE1 DEVOPS1 DOCKER2 ELF1 GILAB1 GITLAB1 GO10 GO-BUILD1 GODOC1 GOMODCACHE1 K8S1 LINUX1 MUTEX1 RANCHER1 SYNC2 UNIX1 互斥锁1 信创1 设计模式2
[A~Z][0~9]

Copyright © 2022 AMAZING-GAO 实在是高. All Rights Reserved