![](https://img-blog.csdnimg.cn/2021090317590730.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Go
文章平均质量分 68
这么可爱的土拨鼠确定不了解一下?
执笔苦行僧
学习是一场没有终点的马拉松
展开
-
Go 的三种指针
在 Go 语言中,存在着三种指针:类型安全指针、unsafe.Pointer 和 uintptr。在日常开发中,经常使用的就是类型安全指针。但是在一些特殊场景下,需要用到其他两种指针才能实现需求。三种指针间可以进行相互转换,其转换关系为:fill:#333;color:#333;color:#333;fill:none;}类型安全指针uintptr。原创 2022-11-20 00:21:28 · 989 阅读 · 1 评论 -
gRPC 提供接口文档
在 RESULTful 接口服务中,我们可以使用 swagger 来展示当前服务接口列表,但是当我们的项目是使用的 gRPC 提供接口服务时,就没法使用 swagger 来做接口展示服务了。为了解决这个问题,本文将介绍加的方式来在线提供 gRPC 文档。原创 2022-11-09 22:56:28 · 1294 阅读 · 0 评论 -
gRPC 入门使用教程
在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个 gRPC 服务器来处理客户端调用。在客户端拥有一个存根能够像服务端一样的方法。原创 2022-10-28 19:36:30 · 5362 阅读 · 1 评论 -
Go 检查结构体是否实现接口
Go 检查结构体是否实现接口编译时检查var _ MyInterface = new(MyStruct)运行时检查var _ MyInterface = (*MyStruct)(nil)原创 2022-03-22 12:34:41 · 636 阅读 · 0 评论 -
Go 静态编译机制
Go 静态编译机制一、Go 的可移植性众所周知,Go 具有良好的跨平台可移植性,Go 还提供了交叉编译的功能,运行我们在一个平台上编译出另外一个平台可执行的二进制代码。在Go 1.7及以后版本中,我们可以通过下面命令查看Go支持OS和平台列表:$ go tool dist listaix/ppc64android/386android/amd64android/armandroid/arm64darwin/amd64darwin/arm64dragonfly/amd64freebs原创 2021-09-15 11:31:49 · 4849 阅读 · 0 评论 -
Go 编译优化
Go 编译优化前言减小编译后的二进制的体积,能够加快程序的发布和安装过程。接下来我们将通过 go 编译选项和第三方工具学习如何减少编译后二进制的体积。一、添加编译选项Go 编译器默认编译出来的程序会带有符号表和调试信息,一般来说 release 版本可以去除调试信息以减小二进制体积:go build -ldflags="-s -w" -o main main.go参数详解:-s: 忽略符号表和调试信息;-w: 忽略DWARFv3调试信息,使用该选项后将无法使用 gdb 进行调试。二原创 2021-09-14 17:16:22 · 1828 阅读 · 0 评论 -
Go 基础文件操作
Go 学习——文件操作一、读取文件1. 按字节读取func main() { // 打开读取的文件 file, err := os.Open("testFile") // return 之前记得关闭文件 defer file.Close() if err != nil { fmt.Println(err) return } // 每次读取的内容缓存 buf := make([]byte, 1024) // 文件的所有内容 var context []byte for {原创 2021-09-08 15:08:01 · 902 阅读 · 0 评论 -
通过 Go 学习 TDD
通过 Go 学习 TDD一、了解 TDDTDD (Test Driven Development)是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的核心思想是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD 工作流程先分解任务,分离关注点(后面有演示),用实例化需求,澄清需求细节只关注需求,程序的输入输出,不关心中间过程,写测试用最简单的方式满足当前这个小需求即可重构,提高代码健壮性再次测试,补重用例,修复 Bug提交流程如图所示原创 2021-09-03 17:57:45 · 286 阅读 · 1 评论