首页
首页
BOT
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Go
Yuan_sr
创建于2021-05-12
订阅专栏
记录Go语言学习中的知识点
暂无订阅
共60篇文章
创建于2021-05-12
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
反射(reflect)机制
什么是反射 官方对此有个非常简明的介绍,两句话耐人寻味: 反射提供一种让程序检查自身结构的能力 反射是困惑的源泉 要深刻理解反射,个人感觉需要花时间在官方博客上再加以练习,循序渐进,慢慢体会。 反射的
并发安全Context包的使用
前言--为什么需要Context Golang context是Golang应用开发常用的并发控制技术,它与WaitGroup最大的不同点是context对于派生goroutine有更强的控制力,它可
并发安全Sync包的使用
有时候在Go代码中可能会存在多个goroutine同时操作一个资源(临界区),这种情况会发生竞态问题(数据竞态)。Sync包主要实现了并发任务同步WaitGroup的几种方法和并发安全的互斥锁和读写锁
定时器Timer和Ticker
Timer Timer是一个定时器,代表未来的一个单一事件,通过Timer本身提供的管道将事件传递出去,言外之意是只执行一次。 Timer的数据结构如下: Ticker Ticker是周期性定时器,即
Select多路复用
在某些场景下我们需要同时从多个通道接收数据。通道在接收数据时,如果没有数据可以接收将会发生阻塞,而select就可以同时监听一个或多个channel,直到其中一个channel准备好。 select的
Goroutine池
goroutine池的应用 本质上是生产者消费者模型 可以有效控制goroutine数量,防止暴涨 需求: 计算一个数字的各个位数之和,例如数字123,结果为1+2+3=6 随机生成数字进行计算 控制
Channel
为什么要用channel? 单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。 虽然可以使用共享内存进行数据交换,但是共享内存在不同的goroutine中容易发生竞
Goroutine
什么是Goroutine Goroutine的概念类似于线程,但 goroutine是由Go的运行时(runtime)调度和管理的。Go程序会智能地将 goroutine 中的任务合理地分配给每个CP
设计模式--适配器(Adapter)模式
模式定义 将一个类的接口转换成客户希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 类图 应用场景 1.当你希望使用某些现有类,但其接口与你的其他代码不兼容时; 2
设计模式--代理(Proxy)模式
模式定义 为其他对象提供一种代理以控制(隔离,使用接口)对这个对象的访问 类图 要点总结 “增加一层间接层”是软件系统中对许多复杂问题的一种常见解决方法,在面向对象系统中,直接使用某些对象会带来很多问
设计模式--解析器(Interpreter)模式
模式定义 给定一个语言,定义它的文法的一种表示,并定义一种解释器,这个解释器使用该表示来解释语言中的句子 类图 要点总结 Interpreter模式的应用场合是Interpreter模式应用中的难点,
设计模式--访问器(Visitor)模式
模式定义 表示一个作用于某对象结构中的各元素的操作,使得可以在不改变(稳定)各元素的类的前提下定义(扩展)作用于这些元素的新操作(变化) 类图 要点总结 Visitor模式通过所谓双重分发(doubl
设计模式--命令(Command)模式
模式定义 将一个请求(行为)封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作 类图 要点总结 Command模式的根本目的在于将“行为请求者”与“
设计模式--责任链(Responsibility_Chain)模式
模式定义 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间耦合关系,将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止 类图 要点总结 Chain of Responsi
设计模式--迭代器(Iterator)模式
模式定义 提供一中方法顺序访问一个聚合对象中的各个元素,而又不暴露(稳定)该对象的内部表示 类图 要点总结 迭代抽象:访问一个聚合对象的内部而无需暴露它的内部表示 迭代多态:为遍历不同的集合结构提供一
设计模式--组合(Component)模式
模式定义 将对象组合成树形结构以表示“部分--整体”的层次结构,Composite使得用户对单个对象和组合对象的使用具有一致性(稳定) 类图 要点总结 Composite模式采用树形结构来实现普遍存在
设计模式--备忘录(Memento)模式
模式定义 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先保存的状态 类图 要点总结 备忘录(Memento)存储原发器(Originato
设计模式--状态(State)模式
模式定义 允许一个对象在其内部状态改变时改变它的行为,从而使对象看起来似乎修改了其行为 类图 要点总结 State模式将所有与一个特定状态相关的行为都放入一个State的子类对象中,在对象状态切换时,
设计模式--中介者(Mediator)模式
模式定义 用一个中介对象来封装(封装变化)一系列的对象交互,中介者使各对象不需要显示的相互引用,从而使其耦合松散(管理变化),而且可以独立地改变它们之间的交互 类图 应用场景 当多个对象互相关联交互并
设计模式--门面(Facade)模式
模式定义 为子系统中的一组接口提供一个一致(稳定)的界面,Facade模式定义了一个高层接口,这个接口使得这个子系统更加容易使用(复用) 类图 应用场景 1.当你需要使用复杂子系统的有限但直接的接口时
下一页