github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/utils/alter/convert.go (about) 1 package alter 2 3 import ( 4 "github.com/lmorg/murex/lang/types" 5 "github.com/lmorg/murex/utils/json" 6 ) 7 8 func StrToInterface(s string) interface{} { 9 var new interface{} 10 11 err := json.Unmarshal([]byte(s), &new) 12 if err == nil { 13 goto newConverted 14 } 15 new, err = types.ConvertGoType(s, types.Integer) 16 if err == nil { 17 goto newConverted 18 } 19 new, err = types.ConvertGoType(s, types.Float) 20 if err == nil { 21 goto newConverted 22 } 23 /*new, err = types.ConvertGoType(s, types.Boolean) 24 if err == nil { 25 goto newConverted 26 }*/ 27 new = s 28 29 newConverted: 30 31 return new 32 }