使用指向通道的指针是一种好的做法吗?例如,我同时读取数据,并使用通道map[string]sting
传递这些数据,并在getSameValues()
内处理该通道.
func getSameValues(results *chan map[string]string) []string {
var datas = make([]map[string]string, len(*results))
i := 0
for values := range *results {
datas[i] = values
i++
}
}
我这样做的原因是因为chan map[string]string
个 map 中将有大约数百万个数据,而且它将是多个 map .
因此,我认为如果我可以将指针传递给函数,这样它就不会复制数据以节省内存资源,这将是一个很好的方法.
我在effective go年里没有找到一个好的练习.所以我对我的方法有点怀疑.