Merge pull request #2156 from gocurr/binding_string

hero: optimize *binding'String
This commit is contained in:
Gerasimos (Makis) Maropoulos 2023-06-22 05:41:53 +03:00 committed by GitHub
commit 4c04a80c0c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,6 +4,7 @@ import (
"fmt" "fmt"
"reflect" "reflect"
"sort" "sort"
"strconv"
"github.com/kataras/iris/v12/context" "github.com/kataras/iris/v12/context"
) )
@ -43,15 +44,14 @@ func newStructFieldInput(f reflect.StructField) *Input {
// String returns the string representation of a binding. // String returns the string representation of a binding.
func (b *binding) String() string { func (b *binding) String() string {
index := fmt.Sprintf("%d", b.Input.Index) var index string
if len(b.Input.StructFieldIndex) > 0 { if len(b.Input.StructFieldIndex) > 0 {
for j, i := range b.Input.StructFieldIndex { index = strconv.Itoa(b.Input.StructFieldIndex[0])
if j == 0 { for _, i := range b.Input.StructFieldIndex[1:] {
index = fmt.Sprintf("%d", i)
continue
}
index += fmt.Sprintf(".%d", i) index += fmt.Sprintf(".%d", i)
} }
} else {
index = strconv.Itoa(b.Input.Index)
} }
return fmt.Sprintf("[%s:%s] maps to [%s]", index, b.Input.Type.String(), b.Dependency) return fmt.Sprintf("[%s:%s] maps to [%s]", index, b.Input.Type.String(), b.Dependency)