我正在尝试在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 回答
- 1 回答
- 0 关注
- 235 浏览
添加回答
举报
0/150
提交
取消