裝飾器其實很簡單

裝飾器本質上允許您包裝現有功能並在【開始】或【結尾】處添加您自己的自定義功能。

這在很多可以重複的代碼有很大的用處,比如,你有很多個函數,但是,你想要在調用這些函數之前或者之後輸出一條調用成功的語句,就可以用裝飾器來完成這個功能。
原理很簡單,就是在被修飾的函數開始之前或者運行結束之後插入一些代碼。

go語言實現

package main

import "fmt"

func declaration (targetFunc func()) {
	fmt.Println("調用了函數")

	targetFunc()

	fmt.Println("調用了函數之後")
}

func sayHello() {
	fmt.Println("Hello world")
}

func main() {
	declaration(sayHello)
}

在這串代碼中,函數declaration 起到了裝飾器的作用,該函數接收一個函數作爲參數,在這個函數開始之前執行了一些語句,在函數開始之後也執行了一些語句。這就是裝飾器的作用了。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章