在 Go 语言中,方法可以使用值接收者(value receiver)或指针接收者(pointer receiver)。这两者之间有关键的区别,主要涉及到方法对实例的修改、复制开销和调用时的语法。
孟斌的小站
技术博客与学习记录
1. 基本概念:
装饰器模式是一种结构型设计模式,它允许在运行时通过将对象封装在一系列装饰器类的对象中,动态地扩展其行为。装饰器模式通过组合和递归的方式,使得客户端可以在不修改原始对象的情况下,以自由组合的方式增加新的功能。
函数与方法的区别
在Go语言中,函数(Function)和方法(Method)是两个相关但又有区别的概念,主要涉及到它们的定义和调用方式。
基本概念
组合模式(Composite Pattern)是一种结构型设计模式,它允许将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得客户端可以统一地对待单个对象和对象组合,从而使得客户端无需关心处理的是单个对象还是对象组合。
基本概念
过滤器模式(Filter Pattern)是一种结构型设计模式,它允许在集合或者列表上应用一系列的过滤条件,从而按照这些条件筛选出符合特定标准的元素。过滤器模式提供了一种灵活的方式来组合多个过滤条件,使得客户端能够轻松地构建不同的过滤链。
LRU(Least Recently Used)算法是一种缓存淘汰算法,常用于缓存系统中,通过保留最近使用的数据而淘汰最久未使用的数据,以提高缓存的命中率。LRU算法的核心思想是基于时间局部性原理:最近访问的数据在未来会被再次访问。
为什么是无序的?
首先,我们先看下go的runtime中是如何实现map的迭代,以go 1.21.6为例,以下是关键部分,完整的源码位于src/runtime/map.go中:
基础概念
桥接模式(Bridge Pattern)是一种结构型设计模式,它将一个抽象部分与其实现部分分离,使它们可以独立地变化。桥接模式通过将抽象和实现解耦,使得它们可以独立演化,从而提高了系统的灵活性。
原文在这里。
基本概念
适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将现有类(即被适配者)的接口转换成另一种接口,以满足客户端的期望。适配器模式通常用作两种不兼容接口之间的桥梁,使得原本由于接口不兼容而不能一起工作的类可以一起工作。