python 中类似的需求很容易实现.
from abc import ABC
class Foooooo(ABC):
def test_method(self):
pass
class Foo(Foooooo):
def test_method(self):
super().test_method()
print("im in Foo")
class FooMixin(Foooooo):
def test_method(self):
super().test_method()
print("im in FooMixin")
class FooMixin2(Foooooo):
def test_method(self):
super().test_method()
print("im in FooMixin2")
class FooSubCls(Foo, FooMixin, FooMixin2):
def test_method(self):
super().test_method()
print("im in FooSubCls")
FooSubCls().test_method()
我可以添加无数个 test_method 这个在 django 中尤其常见. 请问 在 go 中如何实现类似功能? 手动指定的话, 可能得把整个继承关系梳理一遍,否则可能造成某个方法执行了两遍.
提前表示感谢.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.