mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 05:11:49 +08:00
update book code
This commit is contained in:
19
eBook/examples/chapter_19/goto_v1/key.go
Normal file
19
eBook/examples/chapter_19/goto_v1/key.go
Normal file
@@ -0,0 +1,19 @@
|
||||
package main
|
||||
|
||||
var keyChar = []byte("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
|
||||
|
||||
func genKey(n int) string {
|
||||
if n == 0 {
|
||||
return string(keyChar[0])
|
||||
}
|
||||
l := len(keyChar)
|
||||
s := make([]byte, 20) // FIXME: will overflow. eventually.
|
||||
i := len(s)
|
||||
for n > 0 && i >= 0 {
|
||||
i--
|
||||
j := n % l
|
||||
n = (n - j) / l
|
||||
s[i] = keyChar[j]
|
||||
}
|
||||
return string(s[i:])
|
||||
}
|
Reference in New Issue
Block a user