Go에서 반복적인 난수 생성 해결
Go에서 rand.Intn(n int) int 함수는 의사 난수 정수를 반환합니다. [0, n) 범위 내. 그러나 동일한 숫자가 일관되게 인쇄되는 문제가 발생했습니다.
문서에서는 rand.Intn이 결정적인 값 시퀀스를 생성하는 기본 소스를 사용한다고 제안합니다. 동작을 사용자 정의하고 무작위성을 보장하려면 난수 생성을 적절하게 시드해야 합니다.
난수 생성기를 시드하려면 rand.Seed(seed int64) 함수를 호출하세요. 이 함수는 기본 소스를 시드 값으로 초기화합니다. 일반적인 방법은 현재 Unix 타임스탬프를 사용하는 것입니다.
<code class="go">rand.Seed(time.Now().UnixNano())</code>
생성기를 시드하여 프로그램을 실행할 때마다 서로 다른 난수가 생성되도록 합니다.
rand.Seed()인 경우 호출되지 않으면 생성기는 1로 시드된 것처럼 작동하여 반복이 관찰됩니다.
위 내용은 내 Go 코드가 계속 동일한 난수를 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!