摘要: GO语言的匿名函数就是闭包,以下是《GO语言编程》中对闭包的解释 基本概念闭包是可以包含自由(未绑定到特定对象)变量的代码块,这些变量不在这个代码块内或者任何全局上下文中定义,而是在定义代码块的环境中定义。要执行的代码块(由于自由变量包含在代码块中,所以这些自由变量以及它们引用的对象没有被释放)为自 阅读全文
posted @ 2018-11-22 00:06 花园小花匠 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 术语、定义和缩略术语 box 由唯一类型标识符和长度定义的面向对象的构造块(注:在一些标准称为“atom") chunk(块) 一个track连续采样集合 container box 唯一目的是为了包含一组相关的box(注:container box 不是由”fullbox“派生的) hint tr 阅读全文
posted @ 2018-10-08 18:21 花园小花匠 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 本章主要是unique_ptr 阅读全文
posted @ 2018-07-10 12:34 花园小花匠 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 抄来的,来自GO圣经,建议入门阅读 考虑一个二维的绘图程序,提供了一个各种图形的库,例如矩形、椭圆形、星形和轮形等几 何形状。这里是其中两个的定义 type Circle struct { X, Y, Radius int } type Wheel struct { X, Y, Radius, Sp 阅读全文
posted @ 2018-05-08 20:06 花园小花匠 阅读(6990) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串,找出不含有重复字符的 最长子串 的长度。 示例: 给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。 给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。 给定 "pwwkew" ,最长子串是 "wke" ,长度是3。请注意答案必须是一个子 阅读全文
posted @ 2018-03-29 14:05 花园小花匠 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 下边代码 1 中包含两个此类队列。一个队列 (less) 针对生成方,用于等待缓冲区中出现空位置。另一个队列 (more) 针对使用者,用于等待从缓冲槽位的空位置中提取其中包含的信息。该示例中还包含一个互斥锁,因为描述该缓冲区的数据结构一次只能由一个线程访问。 如 代码片 2 中所示,生成方线程获取 阅读全文
posted @ 2018-03-20 20:10 花园小花匠 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。 主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。 何时使用:一个系统有许多许多类, 阅读全文
posted @ 2018-03-05 14:51 花园小花匠 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 状态模式(State Pattern) :允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。 主要解决:对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。 何时使 阅读全文
posted @ 2018-03-05 14:15 花园小花匠 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listene 阅读全文
posted @ 2018-03-05 13:49 花园小花匠 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 中介者模式(Mediator Pattern)定义:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。 主要解决:对象与对象之间存在大量的关联关系,这样势必会导致系统的结构 阅读全文
posted @ 2018-03-05 11:21 花园小花匠 阅读(167) 评论(0) 推荐(0) 编辑