go
文章平均质量分 56
hello_bravo_
这个作者很懒,什么都没留下…
展开
-
golang-- 字典树
一.前言看了百度团队在 infoq 上发表的一篇【如何在秒级完成词表匹配】(https://xie.infoq.cn/article/97b2df7e41456335627ce4cd4)的文章,文章业务背景介绍的很清楚,里面有提到字典树,看到结构图我能明白工作原理,但是总感觉自己处于一种懂与不懂的半懂状态,希望通过写这篇文章我能彻底将字典树闹明白。二.介绍概念字典树是一个存储字符串的树,一个节点的最大子节点数等于字母表的大小。支持在 O(L)时间内的搜索,插入和删除操作,L 是键的长度。应用场景原创 2021-07-31 18:07:34 · 440 阅读 · 0 评论 -
Go实现设计模式--命令模式
文章目录关于命令模式的例子逻辑关系定义关于命令模式的例子客户点单,创造订单给服务员,服务员将订单给厨师,厨师烹饪。用户使用遥控器,创造命令对象(关电视)给遥控器,遥控对象(电视)关闭。遥控器代码的简单示例:逻辑关系实现遥控器,遥控器有插槽,一个插槽对应一个command对象,插槽的下按对应command对象的命令,这样遥控器不用管这个命令的具体实现,只要调用自己的插槽就可以了。这里的...原创 2020-04-05 20:04:56 · 222 阅读 · 0 评论 -
Go实现设计模式--单例模式
文章目录定义介绍代码示例定义确保一个类只有一个实例并提供一个全局访问点。介绍意图:再项目中有线程池,缓存,对话框等,这类对象只能有一个,如果创造多个就会有许多问题,所以有了单例模式。关键代码(仅仅针对golang):在方法中要有getInstance()来创建对象,且为了防止多线程错误记得加锁代码示例这个页面的作者将代码写的很详细了,可以前往参考https://blog.cyeam...原创 2020-03-28 11:02:27 · 202 阅读 · 0 评论 -
Go实现设计模式--工厂模式
文章目录定义实例剖析问题1 简单工厂的学习分析1行动1问题2分析2行动2定义定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。实例剖析问题1 简单工厂的学习你有一个披萨店,你的披萨店有orderPizza()函数,用于新建一个披萨,旧的代码如下(此处简化书上的代码)orderPizze(ptype string)pizza{ Pizza ...原创 2020-03-22 16:47:23 · 598 阅读 · 0 评论 -
GO语言闭包
闭包函数: 除了访问局部变量和全局变量,函数还可以访问函数声明中声明的所有局部变量,只要它们是在之前声明的(包括在运行时传递给闭包函数的所有参数),在嵌套的情况下,函数可以访问所有函数的变量(无论闭包的级别如何)。package mainimport "fmt"var global func()func closure() { var A int = 1 func() {转载 2017-11-28 11:19:28 · 375 阅读 · 0 评论