第一百天
第一百天 1.下面代码输出什么? func main() { m := map[string]int{ "G": 7, "A": 1, "C": 3, "E": 5, "D": 4, "B": 2, "F": 6, "I": 9, "H":...
第一百天 1.下面代码输出什么? func main() { m := map[string]int{ "G": 7, "A": 1, "C": 3, "E": 5, "D": 4, "B": 2, "F": 6, "I": 9, "H":...
第一百零二天 1.ch := make(chan interface{}) 和 ch := make(chan interface{},1) 有什么区别? 参考答案及解析:第一个是声明无缓存通道,第二个是声明缓存为 1 的通道。无缓存通道需...
第一百零四天 1.关于同步锁,下面说法正确的是? A. 当一个 goroutine 获得了 Mutex 后,其他 goroutine 就只能乖乖的等待,除非该 goroutine 释放这个 Mutex; B. RWMutex 在读锁占用的情...
第一百零三天 1.下面代码输出什么? func main() { fmt.Println(doubleScore(0)) fmt.Println(doubleScore(20.0)) fmt.Println(doubleScore(50.0...
简述 ETCD 及其特点? etcd 是 CoreOS 团队发起的开源项目,是一个管理配置信息和服务发现(service discovery)的项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于 Go 语言实现。 ...
第一百零五天 1.下面代码输出什么?请简要说明。 var c = make(chan int) var a int func f() { a = 1 <-c } func main() { go f() c <- 0 print...
1.使用值为 nil 的 slice、map会发生啥 允许对值为 nil 的 slice 添加元素,但对值为 nil 的 map 添加元素,则会造成运行时 panic。 // map 错误示例 func main() { var m map...
深入剖析 1. 垃圾回收 垃圾回收、三色标记原理 垃圾回收就是对程序中不再使用的内存资源进行自动回收的操作。 1.1 常见的垃圾回收算法: 引用计数:每个对象维护一个引用计数,当被引用对象被创建或被赋值给其他对象时引用计数自动加 +1;如果...
目录 学习计划 学习笔记 百问 redis在什么情况下会变慢? 单线程的redis,如何知道要运行定时任务? 学习计划 Redis的介绍、优缺点、使用场景 Linux中的安装 常用命令 Redis各个数据类型及其使用场景 Redis字符串(...
Go 箴言 不要通过共享内存进行通信,通过通信共享内存 并发不是并行 管道用于协调;互斥量(锁)用于同步 接口越大,抽象就越弱 利用好零值 空接口 interface{} 没有任何类型约束 Gofmt 的风格不是人们最喜欢的,但 gofmt...