Bagaimana untuk menjana rentetan rawak di Golang?

王林
Lepaskan: 2024-06-05 17:23:41
asal
1023 orang telah melayarinya

Di Golang, anda boleh menjana rentetan rawak dengan menggunakan fungsi RandStringBytes dalam pakej crypto/rand. Fungsi ini menerima dua parameter, parameter pertama menentukan panjang rentetan rawak yang akan dijana, dan parameter kedua ialah tatasusunan bait yang menentukan julat aksara untuk digunakan.

如何在 Golang 中生成随机字符串?

Bagaimana untuk menjana rentetan rawak di Golang?

Menjana rentetan rawak dalam Golang adalah sangat mudah, cuma gunakan fungsi RandStringBytes dalam pakej crypto/rand. crypto/rand 包中的 RandStringBytes 函数即可。

语法

func RandStringBytes(n int, alphabet []byte) ([]byte, error)
Salin selepas log masuk

其中:

  • n 指定要生成的随机字符串的长度。
  • alphabet 是一个字节数组,指定要使用的字符范围。

用法

以下是使用 RandStringBytes

Syntax

package main

import (
    "crypto/rand"
    "fmt"
)

func main() {
    n := 10
    charset := []byte("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
    b, err := rand.RandStringBytes(n, charset)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Printf("随机字符串:%s\n", b)
}
Salin selepas log masuk
Salin selepas log masuk

Di mana:

  • n menentukan panjang rentetan rawak yang akan dijana.
  • abjad ialah tatasusunan bait yang menentukan julat aksara untuk digunakan.
Penggunaan

Berikut ialah contoh penggunaan fungsi RandStringBytes untuk menjana rentetan rawak:

package main

import (
    "crypto/rand"
    "fmt"
)

func main() {
    n := 10
    charset := []byte("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
    b, err := rand.RandStringBytes(n, charset)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Printf("随机字符串:%s\n", b)
}
Salin selepas log masuk
Salin selepas log masuk
Kes praktikal

Jana rentetan abjad angka rawak yang ditentukan panjang:

package main

import (
    "crypto/rand"
    "fmt"
)

func main() {
    n := 10
    charset := []byte("abcdefghijklmnopqrstuvwxyz")
    b, err := rand.RandStringBytes(n, charset)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Printf("随机字符串:%s\n", b)
}
Salin selepas log masuk

🎜 Hasilkan rentetan huruf kecil rawak dengan panjang yang ditentukan: 🎜🎜
package main

import (
    "crypto/rand"
    "fmt"
)

func main() {
    n := 10
    charset := []byte("0123456789abcdef")
    b, err := rand.RandStringBytes(n, charset)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Printf("随机字符串:%s\n", b)
}
Salin selepas log masuk
🎜🎜 Hasilkan rentetan heksadesimal rawak dengan panjang yang ditentukan: 🎜🎜rrreee

Atas ialah kandungan terperinci Bagaimana untuk menjana rentetan rawak di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan