Go 中普通指针、unsafe.Pointer 与 uintptr 之间的关系和指针运算

2023-09-09
阅读 4 分钟
981
指针运算就是对指针类型的变量做常规数学运算,例如加减操作,实现地址的偏移。指针运算在 C 语言中是原生支持的,可以直接在指针变量上做加减,例如:

创建型设计模式-原型 Prototype

2023-09-06
阅读 2 分钟
377
简介原型模式支持按照一个对象为模板,创建出另一个一模一样的对象。简单说就是把 A 对象的属性,都赋值到 B 上,注意必须是深拷贝,即 clone 后的 AB 关联的对象是不同的对象。角色抽象原型类定义 clone 方法具体实现类实现 clone 方法类图代码 {代码...} output: {代码...}

创建型设计模式-建造者 Builder

2023-09-06
阅读 3 分钟
398
简介建造者模式可将对象的初始化转变成一步步配置的过程。如当对象的初始化时有很多可选参数,建造者模式可以定制参数实现对象的创建。好处有:定制对象参数针对不同参数,做不同的校验,如当设置了三角形的两个边长,设置第三个边时必须满足两边之和大于第三边的条件。角色Builder 类定义建造一个Product分几个步骤具体...

创建型设计模式-抽象工厂 Abstract Factory

2023-09-06
阅读 3 分钟
356
拿工厂方法模式作对比,在工厂方法模式中,一个工厂只能创建一种产品,如椅子工厂只能创建椅子。而抽象工厂可以创建一系列产品,如家具工厂可以创建椅子,桌子,床等等。

创建型设计模式-工厂方法 Factory Method

2023-09-06
阅读 2 分钟
368
简介工厂方法中,每一个具体工厂类都对应创建一个具体产品类,所有具体工厂类都实现抽象工厂,所有具体产品类都实现抽象产品。抽象工厂定义了创建抽象产品的方法签名,具体工厂类各自实现各自逻辑,来创建具体的产品。角色抽象工厂 Abstract Factory定义创建产品的方法签名,即Factory Method抽象产品 Abstract Product...