new和make区别
- new(T)返回*T指向一个零值T
- make(T)返回初始化后的T
make仅适用于slice、map、channel
闭包
闭包是由 函数及其相关引用环境组合而成的实体 (即:闭包 = 函数 + 引用环境)
- Go语言能通过escape analyze识别出变量的作用域,自动将变量在堆上分配。将闭包环境变量在堆上分配是Go实现闭包的基础。
- 返回闭包时并不是单纯返回一个函数,而是返回了一个结构体,记录下函数返回地址和引用的环境中的变量地址。
本文详细解析了Go语言中new与make的区别,包括它们如何为不同类型的变量分配内存并初始化。同时深入探讨了闭包的概念,解释了闭包在Go中的实现原理及其在实际编程中的应用。
闭包是由 函数及其相关引用环境组合而成的实体 (即:闭包 = 函数 + 引用环境)
3943
1953

被折叠的 条评论
为什么被折叠?