Чтобы сгенерировать случайную строку в Go (Golang), вы можете использовать различные методы. Вот несколько подходов:
Метод 1: использование пакета math/rand
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
rand.Seed(time.Now().UnixNano())
length := 10
charset := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
randomString := make([]byte, length)
for i := range randomString {
randomString[i] = charset[rand.Intn(len(charset))]
}
fmt.Println(string(randomString))
}
Метод 2: использование пакета crypto/rand
(для более безопасных случайных строк)
package main
import (
"crypto/rand"
"fmt"
"math/big"
)
func main() {
length := 10
charset := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
randomString := make([]byte, length)
for i := range randomString {
n, _ := rand.Int(rand.Reader, big.NewInt(int64(len(charset))))
randomString[i] = charset[n.Int64()]
}
fmt.Println(string(randomString))
}
Метод 3. Использование библиотеки типа github.com/google/uuid
package main
import (
"fmt"
"github.com/google/uuid"
)
func main() {
randomString := uuid.New().String()
fmt.Println(randomString)
}