MaoCAT
  • 首页
  • 归档
  • 标签
  • 关于

用反射闭包了一下 Gin 的 HandlerFunc, 我终于可以开开心心的写单元测试了

用反射闭包了一下 Gin 的 HandlerFunc, 我终于可以开开心心的写单元测试了 上家公司是用 go-micro 写 rpc, 现在跑过来写 gin, 写单元测试构造用例可太麻烦了 用反射封装了一下,我又回到当初写微服务的快乐了 没有破坏路由也没有破坏中间件,就加了 req 和 resp 的反射封装 基佬链接: https://github.com/maocatooo/thin/tre
2023-03-06
#Golang #Gin

腾讯一面经

面经 腾讯社招一面 tpc和udp区别 tcp如何保证可靠传输 三次握手四次挥手 四次挥手 TIME_WAIT 为什么要等待2MSL Redis 为什么这么快 (多个情况) Redis 热key Redis 和 MongoDB区别 MySQL 数据库SQL执行流程 MySQL 聚簇索引和非聚簇索引 区别 MySQL 回表 MySQL 索引失效的情况 负责服务的QPS 建立索引后, 如何优化SQL
2023-02-27
#面经

再见 2022, 2022 总结

2022年 2022年, 因为疫情一月被封到过年,中间断断续续也是因为疫情被封在家里几次,12月放开也是迅速的阳了,因为公司是内网开发,且不能远程办公,导致被封在家的时间只能从周内晚上、周末来补,也是让我真正体会到了什么是996 2022年9月老板意外去世, 12月老板娘深夜突然搬空公司机房, 导致顺利失业 工作 拿到了2021年公司优秀员工之一, 算是对2021的交代 完善了公司 Golang
2023-02-01
#思考

Golang 内存管理

堆内存 arena(64MB) -> 8192 page(8KB) span -> N page(一个span包含多个page)-> M 内存块(一个span等分M个内存块) Go 语言的内存管理模块中一共包含 67 种跨度类 spanclass1 - 8B … spanclass67 - 32KB spanclass 0 表示大于32KB的大块内存 微对象 (0, 16B)
2023-01-07
#Golang

Golang 一些题目

golang中分为值类型和引用类型 值类型分别有:int系列、float系列、bool、string、数组和结构体 引用类型有:指针、slice切片、管道channel、接口interface、map、函数等 值类型的特点是:变量直接存储值, 内存通常在栈中分配 引用类型的特点是:变量存储的是一个地址, 这个地址对应的空间里才是真正存储的值, 内存通常在堆中分配 数组和切片的区别 数组是定长的
2023-01-06
#Golang

Golang slice

数组 数组是由相同类型元素的集合组成的数据结构, 计算机会为数组分配一块连续的内存来保存其中的元素 数组是定长的, 必须指定长度或满足编译器对数组大小的推导 1234arr1 := [3]int{1, 2, 3}arr2 := [...]int{1, 2, 3} 切片 切片类型的声明方式与数组有一些相似, 不过由于切片的长度是动态的, 所以声明时只需要指定切
2023-01-05
#Golang

Golang mutex

参考 : https://draveness.me/golang/docs/part3-runtime/ch06-concurrency/golang-sync-primitives https://www.bilibili.com/video/BV1hv411x7we mutex sync.Mutex 由两个字段 state 和 sema 组成。其中 state 表示当前互斥锁的状态, 而 se
2023-01-03
#Golang

Golang make和new

make 的作用是初始化内置的数据结构, 也就是我们在前面提到的切片、哈希表和 Channel new 的作用是根据传入的类型分配一片内存空间并返回指向这片内存空间的指针
2023-01-02
#Golang

Golang map

参考 : https://draveness.me/golang/docs/part2-foundation/ch03-datastructure/golang-hashmap/ https://www.bilibili.com/video/BV1Sp4y1U7dJ map是一堆键值对的未排序集合 hashmap 会存在哈希冲突 解决 hash 冲突办法: 开放寻址法 线性探测法:向后依次探测
2023-01-02
#Golang

coding手册

时间处理 12345// 获取毫秒时间戳new Date().getTime() // 自定义格式moment().format('YYYY-MM-DD HH:mm:ss');moment(new Date()).format('YYYY-MM-DD HH:mm:ss'); 1234// 获取毫秒时间戳time.Now().UnixMilli()// 自定义
2023-01-01
#参考资料 #coding手册
12345…7

搜索

陕ICP备19007981号-3 Hexo Fluid