Lua Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua可以在很多地方使用比如游戏开发、独立应用脚本、Web应用脚本、…
分类:Go
interface作为struct field,谈谈golang结构体中的匿名接口
golang中通过组合(composite)实现类似继承(extends)和重写(override)的功能,大家可能平时用的比较多的是struct中匿名struct的写法,有没有见过struct中匿名接口(anonymo…
LeetCode-最小栈
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) — 将元素 x 推入栈中。 pop() — 删除栈顶的元素。 top() — 获取栈…
GORM 关联查询
定义了一个 User 和 Company, User 中可以包含多个 Company, 如下: type User struct { ID int `gorm:"TYPE:int(11);NOT NULL;PRIMARY…
区块链开发者教程大汇总,Php/Python/C#/Node/Go
Mixin Network是一个免费,1秒确认的高速转账网络。我们撰写了基于多种语言的系列教程,开发者可以15分钟搭建一个比特币收款应用。 教程 PHP Go Node.js C# Python 创建机器人接收发送消息 …
设计模式-07-装饰者模式
装饰者模式 概述 当对象需要添加一些功能,比如在表单的组件添加验证功能,为咖啡添加配料,为窗口添加滚动条等等.此时如果使用继承的话,会产生很多子类,不好管理,而且,在项目越来越大的时候会出现类爆炸.使用装饰者模式,使用组…
HTTP导出和上传文件处理
需求 导出节目单[不保存文件到本地] 输出不同的文件类型[csv,xls,xlsx] 上传[csv,xls,xlsx]导入节目单 导出节目单 import ( "bytes" "encoding/csv" "fmt" "…
设计模式-06-组合模式
组合模式 概述 树形结构在项目中很经常会碰到,当树形结构变得越来越大之后会难以管理。组合模式允许你将对象组合成树形结构来表现“整体/部分”的层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。树里面包含了组合以及…
设计模式-04-职责链模式
职责链模式 概述 职责链模式是使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 实现 使用数据过滤类来实现职责链模式。用户传…
设计模式-05-命令模式
命令模式 概述 在开发中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么。我们希望做到只需在程序运行时指定具体的请求接收者即可,可以使用命令模式来进行设计,消除请求发送者与请求接…
golang编译时通过ldflags给包内变量赋值,实现打印版本号及commit
很多命令行程序都可以通过version参数输出版本信息,commit,操作系统等信息。下面介绍一种方法实现golang编译的命令行程序打印版本号。 docker打印的版本信息: $ ~ docker version Cl…
OpenResty下使用Apache Ant Path匹配库
OpenResty下使用Apache Ant Path匹配库 一、简介 OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,而lua相对于编译型语言性能比较差,所以我们使用编写sharedo…