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

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

為什么要創(chuàng)建一個函數(shù),該函數(shù)返回一行執(zhí)行相同操作的函數(shù)?

為什么要創(chuàng)建一個函數(shù),該函數(shù)返回一行執(zhí)行相同操作的函數(shù)?

Go
守著一只汪 2023-03-15 15:38:13
我試圖通過研究各種公共代碼來理解各種編碼架構(gòu)。其中之一是mime/multipartGo 團(tuán)隊的實施。下面的片段是我所看到的。https://cs.opensource.google/go/go/+/refs/tags/go1.19.3:src/mime/multipart/formdata.go;l=156func (r *Reader) ReadForm(maxMemory int64) (*Form, error) {    return r.readForm(maxMemory)}func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) {    form := &Form{make(map[string][]string), make(map[string][]*FileHeader)}    defer func() {        if err != nil {            form.RemoveAll()        }    }()    // Reserve an additional 10 MB for non-file parts.    maxValueBy...more code here我已經(jīng)通讀了一些關(guān)于 SOLID、DRY、公共/私人關(guān)系的內(nèi)容,所以我不能說我知道很多最佳實踐/常見策略??纯瓷厦娴膬?nèi)容,在我看來它是一個將私有函數(shù)公開的函數(shù)。我唯一想到的是它純粹是為了文檔?但在我的腦海里沒有什么具體的。所以我在這里很難理解的是這樣做的好處是什么?感謝大家花時間閱讀本文。非常感謝任何評論/閱讀建議。
查看完整描述

1 回答

?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗 獲得超2個贊

這是為了文檔。公關(guān)評論解釋說:

命名的返回值只應(yīng)在對文檔有貢獻(xiàn)時用于公共函數(shù)和方法。

如果命名返回值只是在函數(shù)體內(nèi)為程序員節(jié)省幾行代碼,則不應(yīng)使用命名返回值,特別是如果這意味著文檔中存在斷斷續(xù)續(xù)的情況,或者它只是為了讓程序員可以使用裸返回語句. (除非在非常小的函數(shù)中,否則不應(yīng)使用裸返回)

此更改是對公共函數(shù)簽名的手動審核和清理。

要隱藏返回值名稱,原始函數(shù)


func (r *Reader) ReadForm(maxMemory int64) (f *Form, err error) {

   ?

}

改為


func (r *Reader) ReadForm(maxMemory int64) (*Form, error) {

    return r.readForm(maxMemory)

}


func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) {

   ?

}

錯誤返回值名稱無法消除,因為 延遲函數(shù)訪問錯誤返回值。


查看完整回答
反對 回復(fù) 2023-03-15
  • 1 回答
  • 0 關(guān)注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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