[golang]struct {}

前端之家收集整理的这篇文章主要介绍了[golang]struct {}前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

有c/c++学习经历的会发现go的struct语法和c/c++很类型,但是golang的struct{}很有意思。

  1. 做set,map[string]struct{}
    由于struct{}是空,不关心内容,这样map便改造为set

  2. chan struct{}
    可以做退出

func worker(i int,ch chan Work,quit chan struct{}) {
    for {
        select {
        case w := <-ch:
            // do something
        case <-quit:
            fmt.Println("worker",i,"quitting")
            quit = nil
        }
    }
}
  1. 两个structt{}{}地址相等
func main() {
    a := struct{}{}
    b := struct{}{}

    fmt.Printf("%p %p\n",&a,&b)
}
 0x1156c08 0x1156c08

猜你在找的Go相关文章