github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/internal/pkg/service/random.go (about) 1 package service 2 3 import commonUtils "github.com/easysoft/zendata/pkg/utils/common" 4 5 type RandomService struct { 6 } 7 8 func (s *RandomService) RandomValues(values []interface{}) (ret []interface{}) { 9 length := len(values) 10 11 for i := 0; i < length; i++ { 12 num := commonUtils.RandNum(10000) 13 ret = append(ret, values[num%len(values)]) 14 } 15 16 return 17 } 18 19 func (s *RandomService) RandomStrValues(values []string) (ret []string) { 20 length := len(values) 21 22 for i := 0; i < length; i++ { 23 num := commonUtils.RandNum(length * 10000) 24 ret = append(ret, values[num%len(values)]) 25 } 26 27 return 28 } 29 30 func (s *RandomService) RandomInterfaces(values []interface{}) (ret []interface{}) { 31 length := len(values) 32 for i := 0; i < length; i++ { 33 val := commonUtils.RandNum(length) 34 ret = append(ret, values[val]) 35 } 36 37 return 38 } 39 40 func (s *RandomService) RandomValuesArr(values [][]interface{}) (ret [][]interface{}) { 41 length := len(values) 42 for i := 0; i < length; i++ { 43 val := commonUtils.RandNum(length) 44 ret = append(ret, values[val]) 45 } 46 47 return 48 }