我正在嘗試在Go中執行某些操作,類似于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 {};};當B的run()函數被調用時,它將綁定用A的Handler讀取的B類成員函數。然后m_A.func(hander)稱為,它將調用getData()。然后將獲得的數據解析為B::read(const string& data)Go中有什么方法可以做到嗎?如何在golang中創建轉接呼叫包裝器?
- 1 回答
- 0 關注
- 263 瀏覽
添加回答
舉報
0/150
提交
取消