
Go
文章平均质量分 63
城市里的元
经营博客,需用心。
展开
-
【通俗说设计模式】二、工厂方法模式(Factory Method Pattern)& Python实现
专业介绍 工厂方法模式(英语:Factory method pattern)是一种实现了“工厂”概念的面向对象设计模式。就像其他创建型模式一样,它也是处理在不指定对象具体类型的情况下创建对象的问题。工厂方法模式的实质是“定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行。引用自--维基百科 核心结构:有四个角色,分别是抽...原创 2019-12-02 15:42:01 · 323 阅读 · 0 评论 -
[Golang] 关于Sync.Map的使用
简介:sync.Map这个数据结构是线程安全的(基本类型Map结构体在并发读写时会panic严重错误),它填补了Map线程不安全的缺陷,不过最好只在需要的情况下使用。它一般用于并发模型中对同一类map结构体的读写,或其他适用于sync.Map的情况。关于sync.Map的源码解析文章:Go 1.9 sync.Map揭秘正文:它主要五个方法及其功能简介:1、Store 存 k......原创 2018-08-03 16:41:32 · 22342 阅读 · 0 评论 -
[Golang] 实现一个通用的排序方式(对任意数据类型构成的slice排序)
前言:Go 语言中排序主要使用的sort库,对于常见数据类型string, int ,float构成的Slice,可以使用sort库对应的sort.Strings() /sort.Ints() / sort.Float64s()直接排序,但是对于复杂类型struct构成的Slice,要对其排序就需要自己实现其三个方法(Len, Swap,Less)。问题在于:一个结构体我可以给他写三个方...原创 2018-10-22 17:54:41 · 1739 阅读 · 0 评论 -
[Golang] 谈Go中的继承
继承,这个概念来自于OOP思想。所谓继承,是指可以让某个类型的对象获得另一个类型的对象的属性的方法。它支持按级分类的概念。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。继承的关键词:“获得”,“代码复用”。先来看看典型的OOP语言Python对于继承的实现:class person: def say(self......原创 2018-10-26 17:10:53 · 15571 阅读 · 6 评论 -
[Golang] struct配合slice实现循环队列
循环队列特征  使用的头尾索引永远都在底层数组长度下标范围内,如队列长度为10,那么底层数组长度为11,index范围[0,10]解决的问题  用非循环数组实现的队列在底层数组满的时候有数据搬移的操作,会影响入队操作;循环数组可以解决这个问题!与同样用数组实现的普通队列的区别   1. 循环队列需要专门占用数组的一个位置来作...原创 2018-11-21 15:00:07 · 2301 阅读 · 1 评论 -
【读Go语言并发之道】第1,2章 并发概述以及CSP(顺序通信进程)
本文章收录于我的博客专栏读Go语言并发之道前言:本文档是读《Go语言并发之道》一书之后的总结,按照章节进行记录。目录第一章 并发概述第二章 对你的代码建模:顺序通信进程(CSP)第一章 并发概述 1.1 竞争条件 永远不要用time.Sleep来保证你程序运行的逻辑性,这不是一种优雅的方式,更不是一种正确的方式,还可能会给你的程序留下可能潜伏许久的难以调试的bug。...原创 2019-06-10 09:14:06 · 954 阅读 · 1 评论 -
【读Go语言并发之道】第3章 Go语言并发组件
✎说明: 本文章收录于我的博客专栏读Go语言并发之道 前言本文档是读《Go语言并发之道》一书之后的总结,按照章节进行记录。任何地方有误,请读者不吝赐教。ℬℯℓℓℯℜ life to you~目录前言1. Goroutine2. sync包3. sync.WaitGroup4. sync.Mutex / sync.RWMutex5. sync.Cond6. sync.Once7....原创 2019-06-10 15:03:52 · 1414 阅读 · 2 评论 -
[面试] Golang 面试题
本文章收录于:后端工程师面试题目总结(提供参考答案)目录1.make与new的区别2.简要描述go中的main和init函数的区别3.下面的代码输出什么,若会报错报什么错?4. 这段代码会输出什么?5、简述channel和mutex锁机制的原理异同与使用场景6、sync.WaitGroup的使用场景?7、写一段闭包代码,阐述其作用8、执行这段代码会发生什...原创 2019-08-27 23:30:31 · 9810 阅读 · 2 评论