1. 什么是闭包?
一个函数内引用了外部的局部变量,这种现象,就称之为闭包。
例如下面的这段代码中,adder 函数返回了一个匿名函数,而该匿名函数中引用了 adder 函数中的局部变量 sum ,那这个函数就是一个闭包。
package main
import "fmt"
func adder() func(int) int {
sum :=...
redigo 对 发布订阅的使用
redigo 对redis 的发布订阅机制放在pubsub.go 中 订阅主题后 通过Receive() 函数接受发布订阅主题的消息
// Receive returns a pushed message as a Subscription, Message, Pong or error.
// The return value is int...
Go 是一门带 GC 的语言,因此,大家很容易认为它不会有内存泄露问题。 大部分时候确实不会,但如果有些时候使用不注意,也会导致泄露。
本文案例来自谷歌云的代码,探讨如何找到并修复 Go 中的内存泄露。(确切来说是因为资源泄露导致的内存泄露,除了本文介绍的,还有一些其他泄露的情况)
这篇文章回顾了我如何发现内存泄漏、如何修复它,以及我如何修复 Google 示例 Go 代码中的类似...
前言:
我已经在生产中使用 Go 一段时间了,因为它的构建规模较小,并且由 goroutines 提供的并发性能以及直接在机器上运行构建的能力,所以我非常喜欢它的快速和可靠。
由于标准包的速度非常快,您可以在不使用任何第三方库或框架的情况下构建生产就绪的微服务。这并不是说 Go 中没有提供更多灵活性或速度的框架,只是它们不那么受欢迎。
官方通常告诉你坚持使用标准库。具有讽刺意味的...