• 代码设计问题 at 2020年07月07日

    为什么会是过度设计呢,这样直接把一些函数和类型绑定很方便啊,而且可读性很好

  • 代码设计问题 at 2020年07月07日

    1、提高可读性,通过类型就能看出来含义 2、通过 type 之后的类型可以自定义函数

  • 关于 go 官方的限流器问题 at 2020年06月24日

    就是说希望能降低临界区的执行时长是吧,如果在临界区内部系统调用会降低系统的性能对吧

  • 线程 问题 at 2020年06月11日

    因为你定义的 chan 没有缓冲,所以若想发送成功必须已经有接受者在等待

    func main() {
        out := make(chan int)
        out <- 2
        go f1(out)
        time.Sleep(2 * time.Second)
    }
    

    这个函数发送之前没有接受者在监听 chan,所以代码会阻塞在 out <- 2,所以会报死锁的错误。你改为 out := make(chan int, 1),就不会报死锁了