首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Golang
葫芦和十三
创建于2023-03-22
订阅专栏
Go
等 1 人订阅
共13篇文章
创建于2023-03-22
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Go设计模式-责任链
## 什么是责任链 责任链模式允许开发者将请求沿着链进行发送,直至其中一个处理者对象对其进行处理。 责任链模式可以将请求的发送者和接收者解耦 责任链模式允许多个处理者对象对请求进行处理,无须让发送者
Go设计模式-策略模式
什么是策略模式 策略模式可以让开发者定义一系列算法,并且将每种算法分别放入独立的类,从而使得算法的对象可以相互替换 组成; 上下文(Context): 维护指向具体策略引用的类,并且仅通过策略接口与该
关于连接池的那些事儿
背景 某一日,葫芦正在写一个简单的CURD代码,十三不知何时悄悄的来到身后 十三: 葫芦,你知道db的 conn 如何管理的 葫芦一哆嗦 葫芦: 通过池化技术,通过maxIdleConns 和 max
关于内存逃逸那些事儿
背景 又某一日,葫芦被十三问的Golang基础知识吊打 十三: 葫芦你知道Golang的内存逃逸么,举几个栗子,以及你在项目中如何优化的 葫芦: Golang会自己进行内存分配,开发者不需要关系内存分
关于hotkey的那些事儿
## 背景 某一日, 葫芦去面试,面试官-十三 十三: 你们项目中的热key是如何处理的 葫芦: 热key我们会放到缓存中,如果不存在,用单飞从redis获取,在加载到缓存,缓存用的go-cach
Go设计模式-适配器
什么是适配器模式 Adpater Pattern 是指将一个类的接口转换成客户端希望的另一个接口,使原本因接口不兼容而不能一起工作的类可以一起工作 组成如下: 目标:定义客户端所需的接口 适配器:适配
Go设计模式-对象池模式
什么是对象池模式 Object pool Pattern, 对象被预先初始化并存储于对象池中,当需要时,客户端可以从对象池中请求一个对象并使用,然后将其返回对象池中 组成: 对象池: 类,主要用于维护
Go-泛型
Go在1.17提出了泛型,并在1.18开始引入 泛型定义语法 如下: 泛型的作用如下: 通用化,同一个逻辑不必对每个类型重复实现 类型安全和自动推断 泛型常见用法 基础类型拓展 ~前缀表示基础类型的扩
Go-Mutex
## Mutex的演进阶段 - “初版”的 Mutex 使用一个 flag 来表示锁是否被持有,实现比较简单 - 后来照顾到新来的 goroutine,所以会让新的 goroutine 也尽可能地先获
Go组件-interface
go 中的接口变量(interface)其实是用 iface 和 eface 这两个结构体来表示的: iface 表示某一个具体的接口(含有方法的接口) eface 表示一个空接口 结构体如下: _t
Go组件-Context
Context 上下文,在Go1.7引入标准库 Context 主要用来在 goroutine 之间传递上下文信息,包括:取消信号、超时时间、截止时间、k-v 等 ctx结构体、方法 Context
Golang-常用限流算法实现
为什么需要限流? 保证服务的稳定性。当大量请求到来时,要保证服务在自身的处理能力之内,避免出现资源用尽、服务挂掉等情况
Go-Once
实现 一个正确的 Once 实现要使用一个互斥锁,这样初始化的时候如果有并发的 goroutine,就会进入doSlow 方法 互斥锁的机制保证只有一个 goroutine 进行初始化,同时利用双检查