Bagaimana untuk Menjana Rentetan Rawak Unik dengan Panjang Tertentu dalam Go?

Susan Sarandon
Lepaskan: 2024-10-24 13:15:02
asal
430 orang telah melayarinya

How to Generate Unique Random Strings of Specific Lengths in Go?

Menjana Rentetan Rawak Unik dengan Panjang Tertentu dalam Go

In Go, menjana rentetan rawak unik dalam julat panjang yang ditentukan memberikan tugas yang mudah. Walau bagaimanapun, memahami tahap keunikan yang diingini adalah penting.

UID Unik Sejagat

Jika keunikan global adalah satu keperluan, UUID (Pengecam Unik Sejagat) menawarkan penyelesaian yang mantap. UUID terdiri daripada nilai 128-bit, menyediakan sekumpulan besar kombinasi berpotensi. Untuk menjana UUID dalam Go, pertimbangkan pendekatan berikut:

<code class="go">import (
    "fmt"

    "github.com/google/uuid"
)

func main() {
    u := uuid.New()
    fmt.Println(u.String())
}</code>
Salin selepas log masuk

Pseudo Random Strings

Untuk pilihan yang kurang unik secara universal, pakej crypto/rand Go menyediakan cara selamat untuk menjana bait rawak semu. Bait ini boleh ditukar kepada rentetan perenambelasan, menghasilkan rentetan pseudo-rawak.

<code class="go">package main

import (
    "crypto/rand"
    "fmt"
)

func main() {
    n := 10
    b := make([]byte, n)
    if _, err := rand.Read(b); err != nil {
        panic(err)
    }
    s := fmt.Sprintf("%X", b)
    fmt.Println(s)
}</code>
Salin selepas log masuk

Pertimbangan Lain

  • Memaparkan UUID: UUID ialah nilai 128-bit yang biasanya dipaparkan dalam format heksadesimal, menghasilkan rentetan 32 aksara. Untuk perwakilan yang lebih padat, pertimbangkan untuk menggunakan pengekodan base64 atau URL-selamat.
  • Unicode Menyokong: Rentetan Go dikodkan dalam UTF-8, membenarkan kemasukan aksara Unikod. Ini membuka kemungkinan menggunakan set aksara Unicode yang meluas untuk meningkatkan kumpulan rentetan rawak yang berpotensi.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Rentetan Rawak Unik dengan Panjang Tertentu dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!