mutex := make(chan struct{}, 1) // 容量必须为1

    increase := func() {
        mutex <- struct{}{} // 加锁
        ......
        <-mutex // 解锁
    }

    --------------------------------------------------------------------------------
    mutex := make(chan struct{}, 1)
    mutex <- struct{}{} // 此行是必需的

    counter := 0
    increase := func() {
        <-mutex // 使用接收操作来加锁
        counter++
        mutex <- struct{}{} // 解锁
    }