# 判断是否为结构体结束 if flag_in_struct and line.strip() == "}": flag_in_struct = False # 结构体变量名 structObjectName = structName[0].lower() + structName[1:] # 定义输出的内容 s = "" s += f"func ({structObjectName}{structName}) String() string {{\n" s += f"\treturn fmt.Sprintf(\n" s += f"\t\t\"{{" for index inrange(len(format_str_list)): if index != 0: s += " " s += format_str_list[index] s += f"}}\",\n" for field_name in field_name_list: s += f"\t\t*{structObjectName}.{field_name},\n" s += f"\t)\n" s += f"}}\n\n" # 输出到文件 file_for_write.write(s) # 清空结构体名 structName = "" # 清空格式化的字符串列表 format_str_list = [] # 清空属性名列表 field_name_list = [] continue