ホームページ > バックエンド開発 > Golang > Golangでランダムな文字列を生成するにはどうすればよいですか?

Golangでランダムな文字列を生成するにはどうすればよいですか?

王林
リリース: 2024-06-05 17:23:41
オリジナル
1059 人が閲覧しました

Golang では、crypto/rand パッケージの RandStringBytes 関数を使用してランダムな文字列を生成できます。この関数は 2 つのパラメータを受け取ります。最初のパラメータは生成されるランダム文字列の長さを指定し、2 番目のパラメータは使用する文字の範囲を指定するバイト配列です。

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

Golang でランダムな文字列を生成するにはどうすればよいですか?

Golang でランダム文字列を生成するのは非常に簡単です。crypto/rand パッケージの RandStringBytes 関数を使用するだけです。 crypto/rand 包中的 RandStringBytes 函数即可。

语法

func RandStringBytes(n int, alphabet []byte) ([]byte, error)
ログイン後にコピー

其中:

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

用法

以下是使用 RandStringBytes

構文

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)
}
ログイン後にコピー
ログイン後にコピー

ここで:

  • n は、生成されるランダム文字列の長さを指定します。
  • alphabet は、使用する文字の範囲を指定するバイト配列です。
使用法

以下は、RandStringBytes 関数を使用してランダムな文字列を生成する例です:

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)
}
ログイン後にコピー
ログイン後にコピー
実用的なケース

指定されたランダムな英数字文字列を生成しますlength:

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)
}
ログイン後にコピー

🎜 指定された長さのランダムな小文字文字列を生成します: 🎜🎜
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)
}
ログイン後にコピー
🎜🎜 指定された長さのランダムな 16 進文字列を生成します: 🎜🎜rrreee

以上がGolangでランダムな文字列を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート