并发测试

开启一个并发任务并在任务中加入定时任务并通过channel收集结果

defer测试

被defer调用的函数会在当前函数结束后返回前被执行, 这个测试的目的就是为了测试defer在各个特殊情况下的表现

go array and slice

slice是可变长度列表,底层指向一个list, 但底层的长度不够时会从新分配一个size×2的list并拷贝元素。 所以对slice做append时一定要小心,不要对同一list下的2个slice做append

go clone

除了引用类型之外,都可以通过赋值的方式复制元素

go interface

接口可以使代码变得更抽象,增加可读性,规范和标准化功能, 接口可以看成是模板的代替品

go sched

go在等待操作时会自动让出线程,也可以通过runtime.Gosched主动让出当前线程

go select

select可以把channel接收集结在一起,不过要注意default的运用,加default和不加default区别很大