gpt4 book ai didi

go - 了解 gometalinter 的警告 : conn can be io. Reader/io.Writer

转载 作者:IT王子 更新时间:2023-10-29 00:40:03 26 4
gpt4 key购买 nike

用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)

这是什么意思,我该如何解决?

最佳答案

这意味着ListenerButton 函数仅使用connWrite 方法。通过将类型从 net.Conn 更改为 io.Writer,您的函数可以使用更多的 io.Writer 实现。实现 API 时应以尽可能少的接口(interface)为目标。

例如,通过该更改,您可以使用 io.MultiWriter 将调试信息以及网络连接写入 stderr:

func ListenerButton(number int, button *ui.Button, conn io.Writer) string {
// ...
}

ListenerButton(number, button, io.MultiWriter(os.Stderr, networkConn))

关于go - 了解 gometalinter 的警告 : conn can be io. Reader/io.Writer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50896032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com