# Functions
AppendSegmentsToFile 将多个段附加到文件 参数: - file: *os.File 文件指针 - segments: map[string][]byte 段类型和段数据的映射 - xref: *FileXref 文件交叉引用结构
返回值: - error 可能的错误.
AppendSegmentToFile 将一个段附加到文件 参数: - file: *os.File 文件指针 - segmentType: string 段类型 - data: []byte 段数据 - xref: *FileXref 文件交叉引用结构
返回值: - error 可能的错误.
LoadXref 从文件加载 xref 表 参数: - file: *os.File 要读取的文件对象
返回值: - *FileXref 解析后的 xref 表 - error 可能出现的错误.
LoadXrefFromBuffer 从缓冲区加载 xref 表 参数: - reader: io.Reader 要读取的缓冲区
返回值: - *FileXref 解析后的 xref 表 - error 可能出现的错误.
LoadXrefFromFile 从文件加载 xref 表 参数: - file: *os.File 要读取的文件对象
返回值: - *FileXref 解析后的 xref 表 - error 可能出现的错误.
NewFileXref 创建一个新的 FileXref 对象,并初始化 xref 表 返回值:*FileXref 一个新的 FileXref 对象.
ReadFieldFromBytes 从字节切片中读取指定的单个字段 参数: - data: []byte 输入字节切片 - fieldType: string 要读取的字段类型 - xref: *FileXref 文件交叉引用表
返回值: - []byte 读取的字段数据 - error 可能的错误.
ReadFieldsFromBytes 从字节切片中批量读取多个字段 参数: - data: []byte 输入字节切片 - fieldTypes: []string 要读取的字段类型列表 - xref: *FileXref 文件交叉引用表
返回值: - map[string]*SegmentReadResult 读取结果映射 - error 可能的错误.
ReadFileSegment 从指定文件中读取一个指定的段 参数: - file: *os.File 待读取的文件对象 - segmentType: string 要读取的段类型
返回值: - []byte 读取的段内容 - *FileXref 解析得到的 Xref 表 - error 可能出现的错误.
ReadFileSegments 从指定文件中读取一个或多个段 参数: - file: *os.File 待读取的文件对象 - segmentTypes: []string 要读取的段类型列表 - fileXref: ...*FileXref 可选参数,已解析的 Xref 表
返回值: - map[string]*SegmentReadResult 读取结果映射 - *FileXref 解析得到的 Xref 表 - error 可能出现的错误.
ReadSegmentsFromBuffer 从缓冲区中批量读取多个段 参数: - buffer: *bytes.Buffer 输入缓冲区 - segmentTypes: []string 要读取的段类型列表 - xref: *FileXref 文件交叉引用表
返回值: - map[string]*SegmentReadResult 读取结果映射 - error 可能的错误.
ReadSegmentToBuffer 从缓冲区中读取指定的单个段 参数: - buffer: *bytes.Buffer 输入缓冲区 - segmentType: string 要读取的段类型 - xref: *FileXref 文件交叉引用表
返回值: - []byte 读取的段数据 - error 可能的错误.
SaveAndClose 保存 xref 表并关闭文件 参数: - file: *os.File 要操作的文件对象 - xref: *FileXref 文件的交叉引用表
返回值:error 可能出现的错误.
WriteFileSegment 创建新文件并将数据写入 参数: - filePath: string 要创建和写入的文件路径 - data: map[string][]byte 要写入的段数据,键为段类型,值为段内容
返回值: - error 可能出现的错误.
WriteSegmentsToBuffer 批量将段写入缓冲区 参数: - buffer: *bytes.Buffer 要写入的缓冲区 - segments: map[string][]byte 要写入的段数据,键为段类型,值为段内容 - xref: *FileXref 文件的交叉引用表
返回值: - error 可能出现的错误.
WriteSegmentsToFile 批量将段写入文件 参数: - file: *os.File 要写入的文件对象 - segments: map[string][]byte 要写入的段数据,键为段类型,值为段内容 - xref: *FileXref 文件的交叉引用表
返回值: - error 可能出现的错误.
WriteSegmentToBuffer 将段写入缓冲区 参数: - buffer: *bytes.Buffer 要写入的缓冲区 - segmentType: string 段类型 - data: []byte 段的数据 - xref: *FileXref 文件的交叉引用表
返回值: - error 可能出现的错误.
WriteSegmentToFile 将段写入文件 参数: - file: *os.File 要写入的文件对象 - segmentType: string 段类型 - data: []byte 段的数据 - xref: *FileXref 文件的交叉引用表
返回值: - error 可能出现的错误.
# Structs
FileXref 结构体用于跟踪单个文件的 xref 表和 startxref 的位置.
SegmentReadResult 用于表示单个段的读取结果.
XrefEntry 结构体用于保存每个段的偏移量和长度.