代码改变世界

随笔档案-2021年12月

golang切片的一些自问自答

2021-12-29 10:04 by 轩脉刃, 421 阅读, 收藏, 编辑
摘要: 你好,我是轩脉刃。这篇是关于go切片的一些问题和回答。 go的切片基本上是代码中使用最多的一种数据结构了,使用这种数据结构有哪些要注意的点,这个是非常必要了解的东西。基本上,以前写的一篇博客 https://www.cnblogs.com/yjf512/p/9531282.html 就说的很清楚了。 阅读全文

golang 数组的一些自问自答

2021-12-27 10:25 by 轩脉刃, 356 阅读, 收藏, 编辑
摘要: 所有代码基于Go-1.17。一些研究Go数组的自问自答,可以考虑作为面试题。 问题:静态存储区是什么?和堆/栈有什么区别? 回答: 可以参考下列图 堆上存放new产生的大块内存 栈上存放的是程序运行的时候使用的局部变量内存 代码段和数据段可以统一称为静态存储区 代码段存放的就是程序的二进制文件 数据 阅读全文

SSA:终于知道编译器偷摸做了哪些事

2021-12-22 14:51 by 轩脉刃, 905 阅读, 收藏, 编辑
摘要: 你好,我是轩脉刃。 在golang中,我们可以使用go tool compile -S main.go 工具将一个go程序直接转换为汇编代码。但是你会发现,最终编译出来的汇编代码其实是已经被优化过了的,编译器其实很聪明,甚至将一些函数合并,取消等。至于这个过程,并不是一蹴而就的,在golang代码和 阅读全文

丈量你的代码,从cloc开始

2021-12-19 15:50 by 轩脉刃, 1262 阅读, 收藏, 编辑
摘要: 如果我想统计我当前的项目有多少代码量?行数最高的代码文件有哪些?并且排除某些目录,怎么统计?要统计出注释多少行,和代码多少行?使用cloc就行。 cloc是一款使用Perl语言开发的开源代码统计工具,支持多平台使用、多语言识别。 mac上安装cloc还是用brew最为简单, brew install 阅读全文

我的极客时间专栏结课了!!!

2021-12-17 01:16 by 轩脉刃, 852 阅读, 收藏, 编辑
摘要: 我的极客时间专栏结课了!!! 我的极客时间专栏结课了!!!太TMD不容易了。 今天下班到家的时候,收到了一份包裹,里面是极客时间送的结课礼物。是的,我的《手把手带你写一个web框架》专栏终于结课了。 “老师总计输出了38篇文字,约321458字,总计上线音频时长11小时13分34秒。“ ”积土成山, 阅读全文

使用plantuml,业务交接就是这么简单

2021-12-14 07:09 by 轩脉刃, 1305 阅读, 收藏, 编辑
摘要: 使用plantuml,业务交接就是这么简单 你好,我是轩脉刃。 最近交接了一个业务,原本还是有挺复杂的业务逻辑的,但发现交接过来的项目大有文章,在项目代码中有一个docs文件夹,里面躺着若干个 puml 文件,这些puml文件把业务中最核心的一些业务流程图和时序图都绘制清楚了。看到这个文件夹无异于发 阅读全文

collection库更新1.4.0版本

2021-12-12 22:43 by 轩脉刃, 308 阅读, 收藏, 编辑
摘要: collection库更新1.4.0版本 collection库一直在使用中,周末集合github上的反馈以及contributor的修改,更新了1.4.0版本。 这个版本做了几个事情: 增加了三种类型, uint, uint32, uint64 这三种类型也算基础类型了,目前基本上已经把所有基础类 阅读全文