随笔分类 - Go
摘要:gogenerate 指令 go generate 命令是在Go语言 1.4 版本里面新添加的一个命令,当运行该命令时,它将扫描与当前包相关的源代码文件,找出所有包含 //go:generate 的特殊注释,提取并执行该特殊注释后面的命令。 命令格式 go generate 命令格式如下所示: go
阅读全文
摘要:Go工程打包版本号 有些项目,会把版本号写入源码中,每次升级都修改源码号。在 Go 项目中这不是好的处理方式。 一般情况下,可以通过 Git 获得版本信息,可以通过 shell 脚本实现,最后编译 Go 项目时,将版本信息通过 -X 链接参数传递进去: // main.go import ( "fm
阅读全文
摘要:go.work工作区 教程:多模块工作区入门 - Go 编程语言 - Go 编程语言 Go 1.18 引入。 工作区的作用是在一个“大工程”中,同时管理多个“子工程”,且这几个“子工程”之间可以方便地直接相互引用,而不再查找远程仓库的同名依赖(replace指令)。可见工作区本身属于临时开发配置,不
阅读全文
摘要:go:linkname 指令 //go:linkname 指令允许我们在编译时将一个函数或变量链接到另一个包中的实现,即使该函数或变量是私有的(小写字母开头)。 指令格式 import _ "unsafe" // 需要引入unsafe包 //go:linkname local remote remo
阅读全文
摘要:杂谈:正确使用Go接口 https://blog.chewxy.com/2018/03/18/golang-interfaces/ 不要写Java风格的接口 由于Go实现一个接口只需要含有签名完全一致(包括receiver、args和retval)就行了,而不像Java中那样通过 implement
阅读全文
摘要:Go语言调试 Go 语言支持 GDB、LLDB 和 Delve 几种调试器。其中 GDB 是最早支持的调试工具,Delve 则是专门为 Go 语言设计开发的调试工具。在调试 Go 程序时,Delve 是 GDB 的更好替代方案,它比 GDB 更了解 Go 的运行时、数据结构和表达式。 注意:以下调试
阅读全文

浙公网安备 33010602011771号