golang에서 반복되지 않는 난수를 생성하는 방법
Go의 math/rand 패키지는 난수 생성을 위한 API를 제공합니다. 중요한 API는 다음과 같습니다.
// 该函数设置随机种子 // 若不调用此函数设置随机种子,则默认的种子值为1,由于随机算法是固定的, // 如果每次都以1作为随机种子开始产生随机数,则结果都是一样的,因此一般 // 都需要调用此函数来设置随机种子,通常的做法是以当前时间作为随机种子 // 以保证每次随机种子都不同,从而产生的随机数也不通 // 该函数协程安全 func Seed(seed int64) // 以下函数用来生成相应数据类型的随机数,带n的版本则生成[0,n)的随机数。 // 注意生成的随机数都是非负数 func Float32() float32 func Float64() float64 func Int() int func Int31() int32 // 注意该函数只返回int32表示范围内的非负数,位数为31,因此该函数叫做Int31 func Int31n(n int32) int32 func Int63() int64 func Int63n(n int64) int64 func Intn(n int) int func Uint32() uint32 func Uint64() uint64 // 另外,rand包还提供了一个类,接口和上面的大致相同: type Rand struct { // ... } // 创建一个以seed为种子的源,注意该源不是协程安全的 func NewSource(seed int64) Source // 以src为源创建随机对象 func New(src Source) *Rand // 设置或重置种子,注意该函数不是协程安全的 func (r *Rand) Seed(seed int64) // 下面的函数和全局版本的函数功能一样 func (r *Rand) Float32() float32 func (r *Rand) Float64() float64 func (r *Rand) Int() int func (r *Rand) Int31() int32 func (r *Rand) Int31n(n int32) int32 func (r *Rand) Int63() int64 func (r *Rand) Int63n(n int64) int64 func (r *Rand) Intn(n int) int func (r *Rand) Uint32() uint32 func (r *Rand) Uint64() uint64
난수 생성 시 현재 시간을 난수 시드로 사용하는 것이 좋습니다. 현재 시간을 생성하는 시간 패키지 :
// 返回当前时间 func Now() Time // 为了将Time类型转换为int64类型以作为随机种子 // 可以使用如下两个函数: // 返回从1970年1月1日到t的秒数 func (t Time) Unix() int64 // 返回从1970年1月1日到t的纳秒数 func (t Time) UnixNano() int64
예를 들어
package main import ( "fmt" "math/rand" "time" ) func main() { // // 全局函数 // rand.Seed(time.Now().Unix()) fmt.Println(rand.Int()) // int随机值,返回值为int fmt.Println(rand.Intn(100)) // [0,100)的随机值,返回值为int fmt.Println(rand.Int31()) // 31位int随机值,返回值为int32 fmt.Println(rand.Int31n(100)) // [0,100)的随机值,返回值为int32 fmt.Println(rand.Float32()) // 32位float随机值,返回值为float32 fmt.Println(rand.Float64()) // 64位float随机值,返回值为float64 // 如果要产生负数到正数的随机值,只需要将生成的随机数减去相应数值即可 fmt.Println(rand.Intn(100) - 50) // [-50, 50)的随机值 // // Rand对象 // r := rand.New(rand.NewSource(time.Now().Unix())) fmt.Println(r.Int()) // int随机值,返回值为int fmt.Println(r.Intn(100)) // [0,100)的随机值,返回值为int fmt.Println(r.Int31()) // 31位int随机值,返回值为int32 fmt.Println(r.Int31n(100)) // [0,100)的随机值,返回值为int32 fmt.Println(r.Float32()) // 32位float随机值,返回值为float32 fmt.Println(r.Float64()) // 64位float随机值,返回值为float64 // 如果要产生负数到正数的随机值,只需要将生成的随机数减去相应数值即可 fmt.Println(r.Intn(100) - 50) // [-50, 50)的随机值 }
위 내용은 golang에서 반복되지 않는 난수를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











RANDBETWEEN을 사용하여 Excel에서 난수를 생성하는 방법 특정 범위 내에서 난수를 생성하려는 경우 RANDBETWEEN 함수를 사용하면 빠르고 쉽게 수행할 수 있습니다. 이를 통해 선택한 두 값 사이에서 임의의 정수를 생성할 수 있습니다. RANDBETWEEN을 사용하여 Excel에서 난수 생성: 첫 번째 난수를 표시할 셀을 클릭합니다. =RANDBETWEEN(1,500)을 입력하여 "1"을 생성하려는 가장 낮은 난수로 바꾸고 "500"을

Java 개발에서 난수 생성 성능을 최적화하는 방법 난수는 컴퓨터 과학, 특히 암호화, 시뮬레이션, 게임 및 기타 분야에서 널리 사용됩니다. Java 개발에서는 다양한 요구 사항을 충족하기 위해 난수를 생성해야 하는 경우가 많습니다. 그러나 난수 생성 성능은 종종 개발자의 관심사 중 하나입니다. 이 기사에서는 Java 개발에서 난수 생성 성능을 최적화하는 방법을 살펴봅니다. ThreadLocalRandom 클래스는 ThreadLocalRandom 클래스를 사용하여 Java7에 도입되었습니다.

PHP 배열을 사용하여 난수 및 확인 코드를 생성하는 방법 난수 및 확인 코드는 웹사이트 및 애플리케이션 개발 중에 매우 일반적입니다. PHP는 난수와 인증 코드를 생성하는 다양한 방법을 제공합니다. 이 문서에서는 PHP 배열을 사용하여 난수 및 확인 코드를 생성하는 방법과 해당 코드 예제를 소개합니다. 1. 난수 생성 PHP에서는 rand() 함수를 사용하여 난수를 생성할 수 있습니다. rand() 함수에는 최소값과 최대값이라는 두 개의 매개변수가 필요합니다. 샘플 코드는 다음과 같습니다: $min=1;$max=

Go 언어를 사용하여 난수 생성 Go 언어는 난수 생성을 위한 많은 내장 라이브러리를 제공하는 현대적이고 간결하며 효율적인 프로그래밍 언어입니다. 그중 crypto/rand 패키지는 안전한 난수를 생성하는 일련의 기능을 제공합니다. 이 기사에서는 crypto/rand 패키지의 읽기 기능을 사용하여 난수를 생성합니다. 먼저 crypto/rand 패키지를 가져와서 난수를 저장할 바이트 배열을 만들어야 합니다. 코드 예시는 다음과 같습니다: packagemain

난수를 생성하는 NumPy의 방법과 응용 방법을 살펴보세요. 소개: 난수는 시뮬레이션 실험, 데이터 생성 및 기능 선택과 같은 컴퓨터 과학 및 통계 분야에서 널리 사용됩니다. Python에서 NumPy(NumericalPython) 라이브러리는 난수 생성을 위한 다양한 기능을 제공하는 강력한 수치 컴퓨팅 라이브러리입니다. 이 기사에서는 NumPy의 난수 생성 방법을 살펴보고 구체적인 코드 예제를 제공합니다. 1. NumPy에서 제공하는 NumPy의 난수 생성 기능

Golang에서 중복 난수 생성을 방지하는 방법: 새로운 난수 생성기 rand.New(rand.Source)를 만듭니다. 엔트로피 소스로 rand.NewSource(time.Now().UnixNano())를 사용합니다. 임의의 정수를 생성하려면 rand.Intn(n)을 사용하십시오.

Random.nextInt() 메서드를 사용하여 Java에서 난수를 생성하는 방법은 무엇입니까? 난수는 컴퓨터 과학에서 널리 사용되며 암호, 게임의 무작위 이벤트, 데이터 과학의 무작위 샘플링 등을 생성하는 데 사용될 수 있습니다. Java는 난수를 생성하는 Random 클래스를 제공하며 nextInt() 메서드를 사용하여 난수를 생성할 수 있습니다. 아래에서는 Random.nextInt() 메서드를 사용하여 난수를 생성하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저, 우리는 필요합니다

Java의 Math.random() 함수를 사용하여 난수를 생성합니다. 난수는 컴퓨터 프로그래밍에서 매우 일반적인 개념이며 무작위 비밀번호 생성, 복권 추첨, 게임의 무작위 이벤트 등과 같은 다양한 기능을 구현하는 데 도움이 될 수 있습니다. Java에서는 Math.random() 함수를 사용하여 난수를 생성할 수 있습니다. Math.random() 함수는 Java 표준 라이브러리의 정적 메소드로 0보다 크거나 같고 1보다 작은 double 유형의 무작위 숫자를 반환합니다. 통과하다
