摘要: 静态类型、动态类型、强类型、弱类型 静态类型与动态类型 变量类型是否会随赋值变化——何时确定变量的类型。 静态类型:代码中需要指定变量的类型(或者自动推导),编译期就进行类型检查,无须运行代码即可确定变量的类型。变量类型运行时不可更改。 动态类型:代码中不需要指定变量的类型(即使指定了也只是类型注解 阅读全文
posted @ 2025-10-29 22:52 3的4次方 阅读(2) 评论(0) 推荐(0)
摘要: 正则表达式入门 正则表达式入门: 正则表达式30分钟入门教程 正则表达式练习:https://regex101.com/ 限定符 符号 含义 示例 * 出现0次或多次 a* 匹配a 0次或多次 + 出现1次或多次 a+ 匹配a 1次或多次 ? 出现0次或1次 a? 匹配a或没有a {数字} 出现指定 阅读全文
posted @ 2025-10-19 13:00 3的4次方 阅读(5) 评论(0) 推荐(0)
摘要: 记一次因对象构造顺序引发的踩内存问题 背景与现象 template<typename T> struct range_reader { range_reader(const T &low_bound, const T &upper_bound) : low_(low_bound) , high_(u 阅读全文
posted @ 2025-10-14 22:32 3的4次方 阅读(7) 评论(0) 推荐(0)
摘要: gogenerate 指令 go generate 命令是在Go语言 1.4 版本里面新添加的一个命令,当运行该命令时,它将扫描与当前包相关的源代码文件,找出所有包含 //go:generate 的特殊注释,提取并执行该特殊注释后面的命令。 命令格式 go generate 命令格式如下所示: go 阅读全文
posted @ 2025-10-13 23:55 3的4次方 阅读(15) 评论(0) 推荐(0)
摘要: Go工程打包版本号 有些项目,会把版本号写入源码中,每次升级都修改源码号。在 Go 项目中这不是好的处理方式。 一般情况下,可以通过 Git 获得版本信息,可以通过 shell 脚本实现,最后编译 Go 项目时,将版本信息通过 -X 链接参数传递进去: // main.go import ( "fm 阅读全文
posted @ 2025-10-09 10:29 3的4次方 阅读(2) 评论(0) 推荐(0)
摘要: go.work工作区 教程:多模块工作区入门 - Go 编程语言 - Go 编程语言 Go 1.18 引入。 工作区的作用是在一个“大工程”中,同时管理多个“子工程”,且这几个“子工程”之间可以方便地直接相互引用,而不再查找远程仓库的同名依赖(replace指令)。可见工作区本身属于临时开发配置,不 阅读全文
posted @ 2025-10-09 10:18 3的4次方 阅读(14) 评论(0) 推荐(0)
摘要: 跨平台coredump生成器——breakpad 介绍 google/breakpad: Mirror of Google Breakpad project breakpad是google开发的一个跨平台C/C++ dump捕获开源库,崩溃文件使用微软的minidump格式存储,也支持发送这个dum 阅读全文
posted @ 2025-09-19 17:56 3的4次方 阅读(62) 评论(0) 推荐(0)
摘要: strip去符号前后对比 strip 是 binutils 中用于给二进制文件(可执行程序、静态库、动态库)去符号信息的工具。它只修改符号表,不碰指令内容,因此去除符号后的二进制文件中,各部分指令和原来是完全一一对应的,各section大小和偏移也不变,各符号的偏移也不变,只是原本的指令分段的函数名 阅读全文
posted @ 2025-09-19 10:08 3的4次方 阅读(34) 评论(0) 推荐(0)
摘要: go:linkname 指令 //go:linkname 指令允许我们在编译时将一个函数或变量链接到另一个包中的实现,即使该函数或变量是私有的(小写字母开头)。 指令格式 import _ "unsafe" // 需要引入unsafe包 //go:linkname local remote remo 阅读全文
posted @ 2025-09-15 21:14 3的4次方 阅读(5) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-09-01 10:52 3的4次方 阅读(1) 评论(0) 推荐(0)