Documentation
¶
Index ¶
- type Conf
- func (tsv *Conf[K, V]) Filter(filter func(line V) bool) []V
- func (tsv *Conf[K, V]) Get(id K) V
- func (tsv *Conf[K, V]) GetAll() []V
- func (tsv *Conf[K, V]) Name() string
- func (tsv *Conf[K, V]) NumRecord() int
- func (tsv *Conf[K, V]) Reload() error
- func (tsv *Conf[K, V]) Select(filter func(line V) bool) (V, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Conf ¶
Conf 表示单个 TSV 配置表,泛型参数 K 为主键类型,V 为行数据结构体类型。
线程安全:通过 sync.Mutex 保护 records 并发读写, Reload 操作先将新数据解析到临时 map,解析成功后原子替换, 保证热重载期间不会出现读到半更新状态的数据。
func New ¶
New 根据泛型参数 V 推导结构体名称并自动查找对应 TSV 文件。
文件路径规则:{dir}/{V的类型名}.tsv,例如 V 为 *ItemConf,则加载 {dir}/ItemConf.tsv。 创建时立即执行一次 Reload,若文件不存在或格式错误则返回 error。 V 必须为结构体类型或结构体指针类型,否则返回错误。
func (*Conf[K, V]) GetAll ¶
func (tsv *Conf[K, V]) GetAll() []V
GetAll 返回所有数据行的切片(线程安全)。
返回顺序不保证与 TSV 文件行顺序一致(map 迭代顺序随机)。
Click to show internal directories.
Click to hide internal directories.