有c/c++学习经历的会发现go的struct语法和c/c++很类型,但是golang的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
}
}
}
- 两个structt{}{}地址相等
func main() {
a := struct{}{}
b := struct{}{}
fmt.Printf("%p %p\n",&a,&b)
}
0x1156c08 0x1156c08