Go
安然_随心
这个作者很懒,什么都没留下…
展开
-
Go 内存分配
转载:图解Golang的内存分配: https://i6448038.github.io/2019/05/18/golang-mem/文章目录1 Go的内存分配核心思想2 Go的内存结构2.1 arena2.2 spans2.3 bitmap3 内存管理组件3.1 mspan3.2 mcache3.3 mcentral3.4 mheap4 Go内存分配流程总结4.1 对象分三种:4.2 分配顺序1 Go的内存分配核心思想Go是内置运行时的编程语言(runtime),像这种内置运行时的编程语言通常会抛转载 2020-09-10 20:36:54 · 830 阅读 · 0 评论 -
kite服务启动、处理请求的流程-1
今天下面看了一下kite 的源码,并追了一个请求的处理过程,下面做一点简要的记录。主要分为如下几个部分:服务请求链信息记录;kite server 启动的流程;kite server 从接受到请求到返回响应的过程;怎么做限流等处理;服务请求链信息记录kite server 启动的流程kite server 从接受到请求到返回响应的过程怎么做限流等处理...原创 2020-07-14 16:32:22 · 1524 阅读 · 0 评论 -
goland WithCancel分析
文章目录1. context 接口2. 怎么做到父context 关闭, 新的cancel context 关闭3. 关闭 cancel context 的子contextWithCancel 返回context ,该context 是父context 的一个完整的拷贝,该新的context 有自己新的Done Channel。WithCancel 有两个核心的功能:当父context 关闭的时候,需要将本cancel context 关闭;调用 cancel context 返回的cancel原创 2020-07-12 18:42:23 · 803 阅读 · 0 评论 -
关于单测,从测试来看代码编写
最近写了一周多的单测,感触颇多,这里把自己的体会说一下1. 业务背景现状在业务开发时,是有单测的,但是单测比较简单,一个业务入口,写了一个单测函数,从头测到尾。//如 一个给用户数据回放的功能func RePlayDataLine(ctx , request){ .....}//对应的单测func Test_RePlayDataLine(t *testing.T){...原创 2020-03-10 16:23:12 · 721 阅读 · 0 评论 -
g for range的一个坑
之前在逛博客时,看到了这个问题,在for range 时,取切片的一个问题,开始没有仔细想,后来有同时在这里出了一个bug,这才搜了一下这个问题。可看下面的test:func TestArray(t *testing.T) { slice2 := []int{0, 1, 2, 3} myMap := make(map[int]*int) for index, value := r...原创 2020-02-24 20:48:59 · 253 阅读 · 0 评论 -
gorm SetLogger(log logger)方法
分批查询数据库查询某一张数据表时,如果这种数据表的数据量较大,一般会采用分批查询的方案。在分批查询时,以前都使用:select * from table_name where condition limit XX ,offset 但是mysql 实现offeset 的方式是 取出 N+limit 条数据,然后抛弃掉 前N条。例如limit 1000, offset 100000,则mysq...原创 2020-01-05 18:21:05 · 3026 阅读 · 0 评论 -
Go
参考地址:https://blog.golang.org/sliceshttps://blog.golang.org/strings1. Go中的 数组,切片先看结论:1.1 关于数组对于数组来说,size 是类型的一部分。如下所示,buffer1 与buffer2 就是不同的类型。buffer1 [256]byte,buffer2[512]byte 。在存储时,buff...原创 2019-05-22 15:01:43 · 214 阅读 · 0 评论