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

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

如何將參數(shù)傳遞給修飾函數(shù)?

如何將參數(shù)傳遞給修飾函數(shù)?

Go
萬千封印 2022-08-30 21:30:40
2`1我想寫一個裝飾器來包裝一個帶有“之前”和“之后”命令的函數(shù)。第一個版本如下,其中裝飾函數(shù)僅輸出:hellopackage mainimport "fmt"func main() {    wrapper(printHello, "world")}func wrapper(f func(), who string) {    fmt.Printf("before function, sending %v\n", who)    f()    fmt.Print("after function\n")}func printHello() {    fmt.Printf("hello\n")}(游樂場:https://play.golang.org/p/vJuQKWpZ2h9)我現(xiàn)在想用參數(shù)調(diào)用修飾的函數(shù)(在我的情況下)。在上面的示例中,它已成功傳遞給,但隨后我不知道該怎么做。我以為我會只是"world"wrapper()package mainimport "fmt"func main() {    wrapper(printHello, "world") // cannot use printHello as the type func()}func wrapper(f func(), who string) {    fmt.Printf("before function, sending %v\n", who)    f(who) // too many arguments    fmt.Print("after function\n")}func printHello(who string) {    fmt.Printf("hello %v\n", who)}編譯失敗.\scratch_11.go:6:9: cannot use printHello (type func(string)) as type func() in argument to wrapper.\scratch_11.go:11:3: too many arguments in call to f    have (string)    want ()將參數(shù)傳遞給修飾函數(shù)的正確方法是什么?
查看完整描述

1 回答

?
吃雞游戲

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

您必須聲明正確的變量類型才能使其正常工作:

func wrapper(f func(string), who string) {
...


查看完整回答
反對 回復 2022-08-30
  • 1 回答
  • 0 關(guān)注
  • 95 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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