用gometalinter检查这部分代码后:
//ListenerButton is hanging listeners for contact button
func ListenerButton(number int, button *ui.Button, conn net.Conn) string {
button.OnClicked(func(*ui.Button) {
sliceMembers := []string{login, button.Text()}
groupName = login + button.Text()
_, err := conn.Write([]byte(JSONencode(login, "", "",
0, groupName, 1,
login, sliceMembers, " ", " ", "",
" ", " ", " ", true, " ", "CreateGroup")))
if err != nil {
log.Println(err)
}
fmt.Println(login, groupName, number, "graphic 131")
})
return groupName
}
我收到了这个警告:
warning: conn can be io.Writer (interfacer)
这是什么意思以及我如何解决它?
答案 0 :(得分:6)
这意味着ListenerButton
功能仅使用Write
的{{1}}方法。通过将类型从conn
更改为net.Conn
,可以使您的函数使用更多的io.Writer
实现。实现API时,尽可能减少接口应该是一个目标。
例如,通过此更改,您可以使用io.Writer
将调试信息写入stderr以及网络连接:
io.MultiWriter