Golang では、crypto/rand パッケージの RandStringBytes 関数を使用してランダムな文字列を生成できます。この関数は 2 つのパラメータを受け取ります。最初のパラメータは生成されるランダム文字列の長さを指定し、2 番目のパラメータは使用する文字の範囲を指定するバイト配列です。
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) }
以上がGolangでランダムな文字列を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。