|
@@ -3,7 +3,6 @@ package value
|
|
import (
|
|
import (
|
|
"encoding/json"
|
|
"encoding/json"
|
|
"fmt"
|
|
"fmt"
|
|
- "log"
|
|
|
|
"reflect"
|
|
"reflect"
|
|
"strconv"
|
|
"strconv"
|
|
"strings"
|
|
"strings"
|
|
@@ -67,7 +66,7 @@ func (s *Value) Setup(val interface{}) (res bool) {
|
|
{
|
|
{
|
|
slType := rType.Elem()
|
|
slType := rType.Elem()
|
|
if rr.Kind() == reflect.Slice {
|
|
if rr.Kind() == reflect.Slice {
|
|
- slRes := reflect.MakeSlice(slType, rr.Len(), rr.Cap())
|
|
|
|
|
|
+ slRes := reflect.MakeSlice(rType, rr.Len(), rr.Cap())
|
|
for i := 0; i < rl.Len(); i++ {
|
|
for i := 0; i < rl.Len(); i++ {
|
|
if val := rl.Index(i); val.CanConvert(slType) {
|
|
if val := rl.Index(i); val.CanConvert(slType) {
|
|
slRes.Index(i).Set(val.Convert(slType))
|
|
slRes.Index(i).Set(val.Convert(slType))
|
|
@@ -80,8 +79,7 @@ func (s *Value) Setup(val interface{}) (res bool) {
|
|
} else if rl.Kind() == reflect.String {
|
|
} else if rl.Kind() == reflect.String {
|
|
slType := rType.Elem()
|
|
slType := rType.Elem()
|
|
sls := strings.Split(rl.String(), ",")
|
|
sls := strings.Split(rl.String(), ",")
|
|
- log.Println(slType, rr.Type())
|
|
|
|
- slRes := reflect.MakeSlice(rr.Type().Elem(), len(sls), cap(sls))
|
|
|
|
|
|
+ slRes := reflect.MakeSlice(rType, len(sls), cap(sls))
|
|
for i, sVal := range sls {
|
|
for i, sVal := range sls {
|
|
sItem := reflect.ValueOf(strings.TrimSpace(sVal))
|
|
sItem := reflect.ValueOf(strings.TrimSpace(sVal))
|
|
switch {
|
|
switch {
|