命令模式 定义 命令模式(Command):将一个请求封装成一个对象,从而是你可用不同的的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 优点 1、降低了系统耦合度; 2、新的命令...
go
golang设计模式之组合模式
组合模式 定义 组合模式(Composite),将对象组合成树形结构以表示'部分-整体'的层次关系。组合模式使得用户对单个对象和组合对象的使用具有一致性。 组合模式,将一组对象组织成树形结构,将单个对象和组合对...
golang设计模式之装饰模式
装饰器模式 定义 装饰模式:动态的给一些对象添加额外的职责,就增加功能来说,装饰模式比生成子类更灵活。 举个栗子: 我们现在买手机或者电脑,都有基础配置,然后根据我们选择的运行内存的大小,具体...
golang设计模式之观察者模式
观察者模式 定义 观察者模式(Observer Design Pattern)定义了一种一对多的依赖关系,让多个观察者对象同时监听一个主题对象。这个主题对象在状态发生变化的时,会通知所有的观察者对象,使他们能够更新自己。 ...
golang设计模式之策略模式
策略模式 定义 策略模式定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到客户端的使用,也称为政策模式(Policy)。 策略模式主要的作用还是解耦策略的定义、创建和使...
Golang 读取和映射ini配置文件到结构体
这里使用go-ini 工具提供的 MapTo 的方式来映射结构体。 官方文档:https://pkg.go.dev/gopkg.in/ini.v1 【配置文件】 port = 9000 release = false [mysql] user = root password = 123456 host =...
Golang解析yaml文件
一.具体思路 将配置yaml文件内容解析为我们定义好的struct,这种比较简单,如果想获取对应的值,直接获取即可。 二.实现步骤 首先根据配置文件的内容定义一个结构体Config,结构体类型和yaml中的属性配置了...
lua连接mysql数据库
环境配置 1、安装好lua,我的版本是5.4 2、下载mysql的c开发库 3、下载luarocks用于安装luasocket包和luasql-mysql包 4、配置一个本地或者远程的mysql服务器和一个测试的数据库,以及一个测试用户 环境配...
golang 通过 cgo 调用 C/C++ 静态库
hello.h #ifndef HELLO_H_ #define HELLO_H_ #ifdef __cplusplus extern "C" { #endif extern int hello(char *name, int age); #ifdef __cplusplus } #endif #endif // HELLO_H_ hel...
Go语言中用 os/exec 执行命令的五种姿势
在 Golang 中用于执行命令的库是 os/exec,exec.Command 函数返回一个 Cmd 对象,根据不同的需求,可以将命令的执行分为三种情况 只执行命令,不获取结果 执行命令,并获取结果(不区分 stdout 和 stderr) ...