我是从 Python 背景来到 Golang 的,我正在努力思考各种新概念。
我遇到的一件事是 net.go 中的这个函数:
func (c *conn) ok() bool { return c != nil && c.fd != nil }
该函数被多个 net.go 方法调用,例如 conn.Read:
// Read implements the Conn Read method.
func (c *conn) Read(b []byte) (int, error) {
if !c.ok() {
return 0, syscall.EINVAL
}
我试图了解如何ok()在 conn 上调用该方法,尽管它ok()似乎不是conn 的接口。
当然,我似乎无法ok()从我的客户端代码中调用:
func main() {
conn, err := net.Dial("tcp", "www.reddit.com:80")
if err != nil {
os.Exit(-1)
}
fmt.Println(&conn.ok())
}
输出:
./server.go:14:22: conn.ok undefined (type net.Conn has no field or method ok)
任何指针赞赏...
阿晨1998
森林海
浮云间
相关分类