golang
文章平均质量分 91
golang
大摩羯先生
掘金签约作者 | Golang/Java开发者|热衷技术写作,分享服务端技术,一线实战经验
展开
-
Goland中使用GoPlantUml生成ER关系图
配置GoPlantUml环境,在Goland中生成ER关系图等,帮助开发小伙伴高效、友好地阅读和分析源码结构。原创 2023-01-07 18:58:00 · 1668 阅读 · 0 评论 -
Golang标准库揭秘系列 | Reflect 反射
剖析Golang中的Reflect,Golang是一种强类型、静态类型的语言,反射提供的是程序在运行时可以访问、检测、修改自身状态或行为的一种能力,使得编程语言能够有一定的动态能力原创 2022-07-13 13:39:08 · 560 阅读 · 0 评论 -
Golang标准库揭秘系列 | unsafe
剖析Golang标准库unsafe包的功能,解惑源码阅读时unsafe.Pointer、uintptr、unsafe.Sizeof的含义和由来,了解内存对齐是怎么回事,感受内存空洞的产生原创 2022-07-10 22:32:06 · 653 阅读 · 0 评论 -
UT case设计与实战
UT case设计与实战1、case设计原则1.1 面向工程结构设计1.2 围绕函数组织构建函数执行过程函数参与数据1.3 争取质量效率平衡2、case设计思路2.1 一般通用设计2.1.1 入参验证2.1.2 过程数据验证2.1.3 最终结果验证1、case设计原则1.1 面向工程结构设计这里是一个比较通用的工程结构目录示例,具体项目会有些许差异,但核心思想是相同的 工程目录结构决定了代码各层级职责和作用关系,推荐面向整体工程目录结构进行全局的case设计,进而梳理哪些模块需要进行测试,哪些原创 2022-04-22 00:28:00 · 1586 阅读 · 0 评论 -
[Golang]defer详解
defer的数据结构、规则约定实现原理、初始化&执行、案例分析、总结原创 2021-06-07 21:09:03 · 2917 阅读 · 0 评论 -
[Golang]slice详解
Slice和Array对比数据结构slice的定义在$GOROOT/src/runtime/slice.gotype slice struct { array unsafe.Pointer len int cap int}数据扩容扩容策略slice扩容的方法定义在$GOROOT/src/runtime/slice.go的growslice方法中 newcap := old.cap doublecap := newcap + newcap if cap > doubl原创 2021-06-07 13:00:05 · 414 阅读 · 2 评论 -
[Golang]Benchmark性能测试
go提供了benchmark性能测试的工具,提供了对函数使用内存、CPU等情况的报告分析,还可以借助pprof获得更好的分析报告等,如果想要深入分析,还可以使用之前介绍的gdb进行底层代码的链路跟踪,以及对代码进行反编译查看具体的性能损耗情况。原创 2021-06-06 17:35:37 · 3324 阅读 · 0 评论 -
[Golang]初始化流程分析
借助gdb、go tool objdump等工具进行go程序的调试,结合编译文件对go程序的初始化流程进行探究和学习,了解init函数、impot等在初始化过程中产生的依赖效果,以具体实例进行概述,最后总结了go初始化过程中的注意事项原创 2021-06-03 00:14:31 · 443 阅读 · 2 评论 -
[Golang]搭建gdb调试go程序
搭建gdb调试go程序,包含gdb安装,适配gdb调试的go编译,gdb常用命令使用,基于go程序入口进行源码调试查看函数调用次序,汇总一些调试遇到的环境和配置问题原创 2021-06-02 15:29:00 · 1642 阅读 · 1 评论 -
[Golang]Gorm使用汇总
go,gorm,sqlite3原创 2021-06-01 18:46:57 · 3029 阅读 · 0 评论