溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

go裝飾模式,一個(gè)屌絲擼管的故事

發(fā)布時(shí)間:2020-06-13 02:06:08 來(lái)源:網(wǎng)絡(luò) 閱讀:907 作者:fangnux 欄目:軟件技術(shù)

直接上代碼:

package main

import "fmt"

//現(xiàn)在有個(gè)屌絲,有個(gè)擼管方法,我們的需求是在擼管前后***子穿褲子
type diaosi struct {
}

func (b *diaosi) LUALU() {
    fmt.Println("EN... A.. A...OH GOD..FUCK ..ME..")
}

type decorator struct {
    *diaosi
    LUALU func()
}

func decorat(b *diaosi) (d *decorator) {
    d = &decorator{b, nil}
    d.LUALU = func() {
        fmt.Println("take off trousers...")
        b.LUALU()
        fmt.Println("take on trousers...")
    }   
    return
}

func main() {
    //吊絲擼啊擼
    b := &diaosi{}
    b.LUALU()

    fmt.Println("===========")

    //吊絲 ***子->擼啊擼->穿褲子
    c := decorat(b)
    c.LUALU()
    //作業(yè):屌絲打開(kāi)×××->***子->擼啊擼->穿褲子->關(guān)××× 怎么實(shí)現(xiàn)?
}
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI