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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Go中傳遞的參數(shù)

Go中傳遞的參數(shù)

Go
慕尼黑8549860 2021-04-25 17:19:07
假設(shè)我有一個(gè)方法 http.HandleFunctype HandlerFunc func(ResponseWriter, *Request)我想將它包裝在另一個(gè)相同類型的方法周圍,如下所示:func MyWrapper(res http.ResponseWriter, req *http.Request) {    // do stuff    AnotherMethod(res, req) // <- question refers to this line    // do more stuff}func AnotherMethod(res http.ResponseWriter, req *http.Request) {    // main logic}如果我做對(duì)了,當(dāng)我打電話時(shí),我將(的值)AnotherMethod(res, req)的副本傳遞res給AnotherMethod,這意味著該對(duì)象現(xiàn)在在內(nèi)存中重復(fù)了。有沒(méi)有一種方法可以將指針傳遞res到AnotherMethod,然后在其中取消引用,以便不復(fù)制的值res?還是我不明白某事?(使用指向res內(nèi)部(的值)的指針AnotherMethod將不起作用,因?yàn)閕nhttp.ResponseWriter中所有方法的接收者都是值而不是指針)
查看完整描述

1 回答

?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

http.ResponseWriter是接口類型。這意味著它既可以是引用類型,也可以是值類型,這取決于基礎(chǔ)類型是什么以及實(shí)現(xiàn)接口的方式。

在這種情況下,res是unexported類型的實(shí)例*http.response。如您所見(jiàn),它是一個(gè)指針類型,這意味著您可以傳遞它而無(wú)需創(chuàng)建整個(gè)結(jié)構(gòu)的副本。

要查看所接收的接口值中包含什么實(shí)型,可以執(zhí)行以下操作:fmt.Printf("%T\n", res)。它應(yīng)該打?。?code>*http.resonse。



查看完整回答
反對(duì) 回復(fù) 2021-05-10
  • 1 回答
  • 0 關(guān)注
  • 218 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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