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  }