MCPcopy
hub / github.com/ChineseSubFinder/ChineseSubFinder / RandStringBytesMaskImprSrcSB

Function RandStringBytesMaskImprSrcSB

pkg/random.go:14–31  ·  view source on GitHub ↗
(n int)

Source from the content-addressed store, hash-verified

12}
13
14func RandStringBytesMaskImprSrcSB(n int) string {
15 sb := strings.Builder{}
16 sb.Grow(n)
17 // A src.Int63() generates 63 random bits, enough for letterIdxMax characters!
18 for i, cache, remain := n-1, src.Int63(), letterIdxMax; i >= 0; {
19 if remain == 0 {
20 cache, remain = src.Int63(), letterIdxMax
21 }
22 if idx := int(cache & letterIdxMask); idx < len(letterBytes) {
23 sb.WriteByte(letterBytes[idx])
24 i--
25 }
26 cache >>= letterIdxBits
27 remain--
28 }
29
30 return sb.String()
31}
32
33var (
34 src = rand.New(rand.NewSource(time.Now().UnixNano()))

Callers 6

GetFrontNameAndOrgNameFunction · 0.92
TestTaskQueue_UpdateFunction · 0.92
UpdateInfoFunction · 0.92

Calls 1

StringMethod · 0.45

Tested by 4

TestTaskQueue_UpdateFunction · 0.74