提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
这个项目的编写方式
现在开始陆续写代码,就一个原则------->动手、动手、动手,用到什么写什么,不合适就重构,直到完成,不会先进行合理的设计,等设计完黄花菜都凉了,先写,在写的过程中不断重构完善
定义文件
如图先定义几个空的文件
名称 | 含义 |
---|---|
class.go | class文件相关的内容 |
attributes.go | 属性相关的内容 |
constant.go | 常量相关的内容 |
field.go | 字段相关的内容 |
method.go | 方法相关的内容 |
下面根据上篇的class文件的分析定义结构体,在class.go 文件定义Class结构体
type Class struct {
Magic uint32 // 魔数
MinorVersionMin uint16 // 副版本号
MinorVersion uint16 //主版本号
ConstantPoolCount uint16 //常量池计数器
ConstantPoolInfo []interface{
} // 常量池
AccessFlags uint16 //访问标志
ThisClass uint16 //类索引,
SuperClass uint16 //父类索引,
InterfaceCount uint16 //接口计数器
interfaces []interface{
} //接口表
FieldsCount uint16 //字段计数器
FieldInfo []interface