client.go
func NewClient(nick, serverHost string, serverPort uint16) *Client {
	return &Client{
		nick:       nick,
		serverHost: serverHost,
		serverPort: serverPort,

		writeTimeout: 30 * time.Second,
		readTimeout:  100 * time.Millisecond,

		channels: map[string]struct{}{},
		mutex:    &sync.Mutex{},
	}
}
func NewClient(nick, serverHost string, serverPort uint16) *Client {
	return &Client{
		nick:       nick,
		serverHost: serverHost,
		serverPort: serverPort,

		writeTimeout: 30 * time.Second,
		readTimeout:  100 * time.Millisecond,

		channels: map[string]struct{}{},
		mutex:    &sync.Mutex{},
	}
}
// NewClient creates a Client.