Различные методы генерации случайных строк в Go (Golang)

Чтобы сгенерировать случайную строку в 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)
}