From ee27859f7e9c048d49f9ccbe9d9ab4faa850ef76 Mon Sep 17 00:00:00 2001 From: xiaoqidun Date: Wed, 19 Aug 2026 12:28:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=8A=9F=E8=83=BD=E5=A2=9E=E5=BC=BA):=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=88=86=E5=8C=BA=E5=88=B0=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- goini.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/goini.go b/goini.go index 4fc44d7..e81818d 100644 --- a/goini.go +++ b/goini.go @@ -288,3 +288,19 @@ func (ini *GoINI) MapToStruct(ptr interface{}) error { ini.mapStruct(v) return nil } + +// MapSectionToStruct 将指定分区映射到一个结构体 +// 入参: name 分区名称, ptr 结构体指针 +// 返回: error 错误信息 +func (ini *GoINI) MapSectionToStruct(name string, ptr interface{}) error { + v := reflect.ValueOf(ptr) + if !v.IsValid() || v.Kind() != reflect.Ptr || v.IsNil() { + return errStructPointerRequired + } + v = v.Elem() + if v.Kind() != reflect.Struct { + return errStructPointerRequired + } + ini.mapSection(v, ini.normalizeSection(name)) + return nil +}