package main import "net" type User struct { Name string Addr string C chan string conn net.Conn } // 创建一个User的API func NewUser(conn net.Conn) *User { userAddr := conn.RemoteAddr().String() user := &User{ Name: userAddr, Addr: userAddr, C: make(chan string), conn: conn, } // 启动监听当前user channel的goroutine go user.ListenMessage() return user } // User类的成员方法: 监听消息 func (user *User) ListenMessage() { for { msg := <-user.C user.conn.Write([]byte(msg + "\n")) } }