Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk menjana rentetan rawak di Golang?

Bagaimana untuk menjana rentetan rawak di Golang?

王林
王林asal
2024-06-05 17:23:411028semak imbas

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)

其中:

  • 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)
}

Di mana:

  • n menentukan panjang rentetan rawak yang akan dijana.
  • abjad ialah tatasusunan bait yang menentukan julat aksara untuk digunakan.
PenggunaanBerikut 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)
}
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)
}

🎜 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)
}
🎜🎜 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!

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