登录
首页 >  Golang >  Go问答

无法使用 net.go 中的 conn.ok(),可能的原因是什么?

来源:stackoverflow

时间:2024-03-01 16:30:26 187浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《无法使用 net.go 中的 conn.ok(),可能的原因是什么?》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!

问题内容

我是从 python 背景来到 golang 的,我正在努力理解各种新概念。

我遇到的一件事是 net.go 中的这个函数:

func (c *conn) ok() bool { return c != nil && c.fd != nil }

该函数被多个 net.go 方法调用,例如康恩.阅读:

// read implements the conn read method.
func (c *conn) read(b []byte) (int, error) {     
if !c.ok() {        
    return 0, syscall.einval
}

我试图了解如何在 conn 上调用 ok() 方法,尽管事实上 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)

任何指示表示赞赏...


解决方案


来自 Go 文档:

因此,ok 函数未导出,您无法在 net 包之外访问它。

终于介绍完啦!小伙伴们,这篇关于《无法使用 net.go 中的 conn.ok(),可能的原因是什么?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>