避坑与技巧
已收录文章:15篇
-
Go语言原生支持并发是被众人津津乐道的特性。goroutine 早期是 Inferno 操作系统的一个试验性特性,而现在这个特性与操作系统一起,将开发变得越来越简单。很多刚开始使用 Go语言开发的人都很363 收藏
-
nil 在 Go语言中只能被赋值给指针和接口。接口在底层的实现有两个部分:type 和 data。在源码中,显式地将 nil 赋值给接口时,接口的 type 和 data 都将为 nil。此时,接口与 nil 值判断是相等的。500 收藏
-
Go语言中使用的垃圾回收使用的是标记清扫算法。进行垃圾回收时会 stoptheworld。不过,在当前 1.3 版本中,实现了精确的垃圾回收和并行的垃圾回收,大大地提高了垃圾回收的速度,进行垃圾回391 收藏
-
现在的一些流行设计思想需要建立在反射基础上,如控制反转(Inversion Of Control,IOC)和依赖注入(Dependency Injection,DI)。Go语言中非常有名的 Web 框架 martini(https://github.com/go-martini/martini)就256 收藏
-
数据结构要在网络中传输或保存到文件,就必须对其编码和解码;目前存在很多编码格式:JSON,XML,gob,Google 缓冲协议等等。Go语言支持所有这些编码格式。结构可能包含二进制数据,如果将135 收藏
-
本节将分别为大家讲解 Go语言是如何与 C/C++ 进行交互的。与 C语言进行交互工具 cgo 提供了对 FFI(外部函数接口)的支持,能够使用 Go语言代码安全地调用 C语言库,可以访问 cgo 文档主页:https232 收藏
-
密码学里目前有两大经典算法,一个是对称加解密,其代表是 AES 加解密;另一个是非对加解密,其代表是 RSA 加解密。这里就以这两个经典算法为例,简单列下其在Go语言里实现的代码。AES 加372 收藏
-
通过前面的学习相信大家对Go语言已经有了一定的了解,平时我们都是在本地进行开发调试访问的。那要怎么打包到服务器上呢?下面通过一个简单的实例来给大家介绍一下如何把我们写好的GO110 收藏
-
本节将通过示例来为大家介绍 Go语言中文件读写的相关操作。读文件在 Go语言中,文件使用指向 os.File 类型的指针来表示的,也叫做文件句柄。在前面章节使用到过标准输入 os.Stdin 和标准输出 o282 收藏
-
从不同的并发执行的协程中获取值可以通过关键字 select 来完成,它和 switch 控制语句非常相似也被称作通信开关;它的行为像是“你准备好了吗”的轮询机制;select 监听进入通道的数据223 收藏
-
有时我们需要能够⽣成类似 MySQL 自增 ID 这样不断增大,同时又不会重复的 id。以支持业务中的⾼并发场景。比较典型的,电商促销时,短时间内会有大量的订单涌入到系统,比如每秒 10w+。明339 收藏
-
一般的 HTTPS 是基于 SSL(Secure Sockets Layer)协议。SSL 是网景公司开发的位于 TCP 与 HTTP 之间的透明安全协议,通过 SSL,可以把 HTTP 包数据以非对称加密的形式往返于浏览器和站点之间,从而避免235 收藏