Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Menjana Rentetan Rawak Unik dengan Panjang Tertentu di Golang?

Bagaimanakah Saya Menjana Rentetan Rawak Unik dengan Panjang Tertentu di Golang?

Patricia Arquette
Patricia Arquetteasal
2024-10-24 17:21:02850semak imbas

How Do I Generate Unique Random Strings of a Specific Length in Golang?

Menjana Rentetan Rawak Unik dalam Julat Panjang Menggunakan Golang

Di Golang, anda mungkin menghadapi senario di mana anda perlu mencipta rentetan rawak unik dalam julat panjang tertentu. Walaupun istilah "unik" boleh mempunyai tafsiran yang berbeza-beza, kami akan menyelidiki strategi untuk menjana rentetan rawak dengan sifat tertentu.

Unik Secara Universal

Jika anda memerlukan pengecam unik di peringkat global , pertimbangkan untuk menggunakan Pengecam Unik Sejagat (UUID). UUID ialah nilai 128-bit yang boleh dipaparkan dalam format perenambelasan, menghasilkan rentetan 32 aksara. Anda boleh mendapatkan maklumat lanjut dan butiran pelaksanaan tentang UUID di Golang di sini: https://en.wikipedia.org/wiki/Universally_unique_identifier

Pengekodan Aksara

Di Golang, rentetan dikodkan dalam UTF-8, bermakna setiap aksara mungkin menduduki berbilang bait dalam ingatan. Jika anda memerlukan panjang tertentu dalam aksara dan bukannya bait, perlu diingati kesan pengekodan aksara. Unicode menyediakan himpunan aksara yang luas yang boleh anda manfaatkan.

Susun Bait Rawak

Untuk menjana rentetan pseudo-rawak menggunakan tatasusunan bait, anda boleh menggunakan yang berikut pendekatan:

<code class="go">import (
    "crypto/rand"
    "fmt"
)

const length = 10

func main() {
    b := make([]byte, length)
    if _, err := rand.Read(b); err != nil {
        panic(err)
    }

    s := fmt.Sprintf("%X", b)
    fmt.Println(s)
}</code>

Kod ini menjana tatasusunan panjang 10 bait, menukarnya kepada rentetan perenambelasan dan mencetak hasilnya.

Kesimpulan

Bergantung pada keperluan khusus anda untuk keunikan dan panjang, anda boleh memilih strategi yang sesuai daripada pilihan yang dibincangkan di atas. Untuk pengecam unik di peringkat global, UUID menyediakan penyelesaian yang diiktiraf secara meluas. Untuk rentetan pseudo-rawak dengan panjang tertentu, menukar tatasusunan bait rawak kepada rentetan heksadesimal ialah kaedah yang berdaya maju.

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

Kenyataan:
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