我正在嘗試在Go中執(zhí)行某些操作,類似于C ++的綁定。在C ++中:class A {public: typedef std::function<bool(const string&)> Handler; bool func(A::Handler& handler) { // getData will get data from file at path auto data = getData(path); return handler(data); }};在另一個B類中:Class B {public: bool run() { using namespace std::placeholders; A::Handler handler = bind(&B::read, this, _1); m_A.initialize(); return m_A.func(handler); } bool read(const string& data) { std::out << data << std::endl; }private: A m_A {};};當(dāng)B的run()函數(shù)被調(diào)用時,它將綁定用A的Handler讀取的B類成員函數(shù)。然后m_A.func(hander)稱為,它將調(diào)用getData()。然后將獲得的數(shù)據(jù)解析為B::read(const string& data)Go中有什么方法可以做到嗎?如何在golang中創(chuàng)建轉(zhuǎn)接呼叫包裝器?
Go中是否有類似于C ++綁定的內(nèi)容?
函數(shù)式編程
2021-04-06 21:18:53