第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我不能使用 net.go 中的 conn.ok()?

為什么我不能使用 net.go 中的 conn.ok()?

Go
搖曳的薔薇 2023-05-22 16:58:18
我是從 Python 背景來到 Golang 的,我正在努力思考各種新概念。我遇到的一件事是 net.go 中的這個函數(shù):func (c *conn) ok() bool { return c != nil && c.fd != nil }該函數(shù)被多個 net.go 方法調(diào)用,例如 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 上調(diào)用該方法,盡管它ok()似乎不是conn 的接口。當然,我似乎無法ok()從我的客戶端代碼中調(diào)用: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)任何指針贊賞...
查看完整描述

3 回答

?
阿晨1998

TA貢獻2037條經(jīng)驗 獲得超6個贊

Go 不使用 public/private 關(guān)鍵字來實現(xiàn)標識符的可見性。如果首字母為大寫字母,則標識為exported(public);否則它不是:

  • 大寫首字母:名稱對包的客戶可見

  • 否則:名稱(或 _Name)對包的客戶不可見


查看完整回答
反對 回復(fù) 2023-05-22
?
森林海

TA貢獻2011條經(jīng)驗 獲得超2個贊

來自 Go 文檔:

可以導(dǎo)出標識符以允許從另一個包訪問它。如果標識符名稱的第一個字符是 Unicode 大寫字母,則標識符被導(dǎo)出

所以,ok 函數(shù)沒有導(dǎo)出,你不能在 net 包之外訪問它。


查看完整回答
反對 回復(fù) 2023-05-22
?
浮云間

TA貢獻1829條經(jīng)驗 獲得超4個贊

在 net.Conn 中沒有像 ok 這樣的字段或方法表明錯誤是正確的。當您嘗試讀取和寫入 conn 時,您會得到錯誤和讀取或?qū)懭脒B接的字節(jié)數(shù)。



查看完整回答
反對 回復(fù) 2023-05-22
  • 3 回答
  • 0 關(guān)注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號