From e5b9ca57d3b229dea019f87cdebf63c2203f4eab Mon Sep 17 00:00:00 2001 From: wangzhuowei Date: Wed, 5 Jun 2024 19:19:51 +0800 Subject: [PATCH] fix: init default values when using liner allocator --- generator/golang/templates/slim/slim.go | 10 +++++----- generator/golang/templates/struct.go | 13 ++++++++----- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/generator/golang/templates/slim/slim.go b/generator/golang/templates/slim/slim.go index 30ca0141..beaaed8c 100644 --- a/generator/golang/templates/slim/slim.go +++ b/generator/golang/templates/slim/slim.go @@ -80,13 +80,13 @@ func New{{$TypeName}}() *{{$TypeName}} { } } -{{if Features.FrugalTag}} func (p *{{$TypeName}}) InitDefault() { - *p = {{$TypeName}}{ - {{template "StructLikeDefault" .}} - } +{{- range .Fields}} + {{- if .IsSetDefault}} + p.{{.GoName}} = {{.DefaultValue}} + {{- end}} +{{- end}} } -{{end}}{{/* if Features.FrugalTag */}} {{template "FieldGetOrSet" .}} diff --git a/generator/golang/templates/struct.go b/generator/golang/templates/struct.go index e4e4228d..bcb81872 100644 --- a/generator/golang/templates/struct.go +++ b/generator/golang/templates/struct.go @@ -51,13 +51,13 @@ func New{{$TypeName}}() *{{$TypeName}} { } } -{{if Features.FrugalTag}} func (p *{{$TypeName}}) InitDefault() { - *p = {{$TypeName}}{ - {{template "StructLikeDefault" .}} - } +{{- range .Fields}} + {{- if .IsSetDefault}} + p.{{.GoName}} = {{.DefaultValue}} + {{- end}} +{{- end}} } -{{end}}{{/* if Features.FrugalTag */}} {{template "FieldGetOrSet" .}} @@ -650,6 +650,7 @@ var FieldReadMap = ` {{- $ctx := (.ValCtx.WithTarget $val).WithFieldMask $curFieldMask}} {{- if $isStructVal}} {{$val}} := &values[i] + {{$val}}.InitDefault() {{- else}} {{- $ctx = $ctx.WithDecl}} {{- end}} @@ -698,6 +699,7 @@ var FieldReadSet = ` {{- $ctx := (.ValCtx.WithTarget $val).WithFieldMask $curFieldMask}} {{- if $isStructVal}} {{$val}} := &values[i] + {{$val}}.InitDefault() {{- else}} {{- $ctx = $ctx.WithDecl}} {{- end}} @@ -746,6 +748,7 @@ var FieldReadList = ` {{- $ctx := (.ValCtx.WithTarget $val).WithFieldMask $curFieldMask}} {{- if $isStructVal}} {{$val}} := &values[i] + {{$val}}.InitDefault() {{- else}} {{- $ctx = $ctx.WithDecl}} {{- end}}