我只想要一个随机字符串的字符(大写或小写),没有数字,在Go。完成此操作的最快、最简单的方法是什么?
发布于 2014-04-06 18:49:20
你可以只为它写代码。如果您希望在使用UTF-8编码时,所有字母都是单字节,则此代码可以稍微简单一些。
package main
import (
"fmt"
"time"
"math/rand"
)
var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
func randSeq(n int) string {
b := make([]rune, n)
for i := range b {
b[i] = letters[rand.Intn(len(letters))]
}
return string(b)
}
func main() {
rand.Seed(time.Now().UnixNano())
fmt.Println(randSeq(10))
}
发布于 2016-02-15 07:30:35
使用uniuri包,它会生成加密安全的统一(无偏)字符串。
免责声明:我是包的作者
发布于 2021-01-07 15:02:07
为您提供简单解决方案,重复结果最少:
import (
"math/rand"
"time"
)
func randomString(length int) string {
rand.Seed(time.Now().UnixNano())
b := make([]byte, length)
rand.Read(b)
return fmt.Sprintf("%x", b)[:length]
}
在PlayGround中查看它
https://stackoverflow.com/questions/22892120
复制相似问题