我有一个使用 2 个 go 例程的聊天应用程序。我想在一个线程中的列表中添加/删除记录,并从另一个线程中读取相同的列表。
由于我是 Go 的新手,我对应该使用什么数据结构有点困惑。我想到了切片,但不确定我是否以正确的方式使用它
func listener(addr *net.UDPAddr, clients *[] *net.UDPAddr, messages chan clientMessage) {
for {
*clients=append(*clients,otherAddr)
}
}
func sender(messages chan clientMessage,clients *[] *net.UDPAddr) {
for {
message :=<- messages
for _,client := range *clients {
fmt.Printf("Message %s sent to %s\n", message.message, client.String())
}
}
}
func main() {
var clients [] *net.UDPAddr
go listener(s,&clients,messageCh)
go sender(messageCh,&clients)
}
叮当猫咪
拉莫斯之舞
相关分类