
Go编程之路
Life_Song
每一个不曾快乐的日子都是对生命的辜负
展开
-
new和make区别
new不会初始化内存,只会将内存置零。new(T)为类型T的新项分配已置零的内存空间,并返回它的地址,也就是一个*T的值。用Go的术语来说,它返回一个指针,该指针指向新分配的,类型为T的零值。make内建函数make(T, args)不同于new(T)。它只用于创建slice、map和channel,并返回类型为T(而非*T)的一个已初始化(而非零值)的值。原因在于,这三种类型本质上为...原创 2020-01-18 14:10:46 · 384 阅读 · 0 评论 -
编码风格
编码风格相似的声明放在一组Go支持将相似的声明放在一个组内Badimport "a"import "b"Goodimport ( "a" "b")这同样适用于常量、变量和类型声明Badconst a = 1const b = 2var a = 1var b = 2type Area float64type Volume float64Goodc...原创 2020-01-18 09:53:47 · 202 阅读 · 0 评论 -
匿名函数和闭包
匿名函数与闭包匿名函数由一个不带函数名的函数声明和函数体组成,如下所示:func (a, b int) int { return a + b}匿名函数可以直接赋值给一个变量或者直接执行:f := func(x, y int) int { return x + y}f(3, 5)func (x, y int) int { return x + y}(3, 5)闭包...原创 2019-11-11 20:57:08 · 225 阅读 · 0 评论