golang结构体组合与“多态” 2021-08-06

Python022

golang结构体组合与“多态” 2021-08-06,第1张

如:

核心思想就是, 外层实现接口,通过递归嵌套将被实现的接口实例置于内层,从而达到外层定义,内层使用的效果

BaseBase和Derived都是外层结构体,在它们这一层实现了F2()。ori_impl_1以及ori_impl_2都是外层结构体实现的B接口实例,置于内层完成调用

struct中的字段可以不用给名称,这时称为匿名字段。匿名字段的名称强制和类型相同。例如:

如果struct中嵌套的struct类型是自己的指针类型,可以用来生成链表或二叉树等数据结构

例如,定义一个单链表数据结构

Go语言的分析取决于多方面的因素,如代码量、理解深度、复杂性等。如果是一般的小规模项目,比如几百行代码,那么通常需要几个小时来分析。但对于大规模项目,比如几万行以上,则需要更多的时间来分析,可能会有几天或更长的时间。同时,如果开发者对代码深入理解的程度越高,分析的时间也会更长。