csv或者其他配置读取功能在服务器开发中属于基础模块,而在开发过程中,csv等配置文件免不了越来越多,而这些代码的定义以及csv读取稍显繁琐以及重复工作。因此想到用反射来实现一个表格的读取,基本一个csv表格,只需要增添几行代码,且十分容易查阅。

每次新增表格或者字段,只需要修改或者增添上面的struct,table定义csv表名。key表示要取的字段名称,即csv的横列,val则代表csv的纵列。核心思想是把一张表定义成一个struct ,然后表名和row、column都用tag来表示,方便阅读。

上述定义的csv图表如下图

string_data.csv
string_interface_data.csv

调用方式如下:

总体应该说比较简洁,且方便浏览代码

下面来讲解下代码实现:

核心代码如下:

上面定义了两种格式,即普通的string类型,和自己定义的String类型,分别用于表格的key:val 模式,和row:column模式,至于其他的,都可以由这两种转换而来,就不再赘述。

以上。

首次写文,不知所云,见谅