摘要: new 和 make 是两个内置函数,主要用来创建并分配类型的内存。在我们定义变量的时候,可能会觉得有点迷惑,不知道应该使用哪个函数来声明变量,其实他们的规则很简单, new 只分配内存, make 只能用于 slice、map 和 channel 的初始化, 下面我们就来具体介绍一下: new 在 阅读全文
posted @ 2019-12-09 20:29 路人Q 阅读(3488) 评论(1) 推荐(1) 编辑
摘要: 在 Go 语言中,布尔类型的零值(初始值)为 false,数值类型的零值为 0,字符串类型的零值为空字符串"",而指针、切片、映射、通道、函数和接口的零值则是 nil。nil 是Go语言中一个预定义好的标识符,有过其他编程语言开发经验的开发者也许会把 nil 看作其他语言中的 null(NULL), 阅读全文
posted @ 2019-12-09 20:11 路人Q 阅读(3009) 评论(0) 推荐(1) 编辑
摘要: sync.Map 有以下特性: 需要并发读写时,一般的做法是加锁,但这样性能并不高,Go语言在 1.9 版本中提供了一种效率较高的并发安全的 sync.Map,sync.Map 和 map 不同,不是以语言原生形态提供,而是在 sync 包下的特殊结构。 无须初始化,直接声明即可。 sync.Map 阅读全文
posted @ 2019-12-09 17:04 路人Q 阅读(3533) 评论(0) 推荐(0) 编辑