github.com/andeya/ameda@v1.5.3/itoa_x.go (about)

     1  package ameda
     2  
     3  // FormatUintByDict convert num into corresponding string according to dict.
     4  func FormatUintByDict(dict []byte, num uint64) string {
     5  	var base = uint64(len(dict))
     6  	if base == 0 {
     7  		return ""
     8  	}
     9  	var str []byte
    10  	for {
    11  		tmp := make([]byte, len(str)+1)
    12  		tmp[0] = dict[num%base]
    13  		copy(tmp[1:], str)
    14  		str = tmp
    15  		num = num / base
    16  		if num == 0 {
    17  			break
    18  		}
    19  	}
    20  	return string(str)
    21  }