溢出检查

在 golang 里面如果 a + b 或者 a * b 发生溢出时,程序不会报错,会直接得到一个错误的结果,如果程序有大数计算需要做边界检查     // 支持自增的溢出检查的方法 func IncrInt(x int) int {    if x == math.MaxInt {       panic(...



golang map内存泄露

在 Go 中使用 map 时,我们需要了解 map 如何增长和收缩的一些重要特征。让我们深入研究一下,以防止可能导致内存泄漏的问题。 首先,要查看此问题的具体示例,让我们设计一个场景,其中我们将使用以下 map: 每个m值都是一个 128 字节的数组。我们将执行以下操作: 1.分配一个空的 map。 2.添加 100 万个元素。 3.删除所有元素,并运行垃圾收集(GC)。 在每一步之后,我们都要打...






【转载】gRPC初体验

gRPC是由Google主导开发的RPC框架,使用HTTP/2协议并用ProtoBuf作为序列化工具。其客户端提供Objective-C、Java接口,服务器侧则有Java、Golang、C++等接口,从而为移动端(iOS/Androi)到服务器端通讯提供了一种解决方案。 当然在当下的环境下,这种解决方案更热门的方式是RESTFull API接口。该方式需要自己去选择编码方式、服务器架构、自己搭建...



    在线交流