Go rand.Intn은 같은 숫자를 반환합니다
Go에서 rand.Intn() 함수는 0(포함) 사이의 의사 난수 정수를 생성합니다. ) 및 n(제외). 그러나 사용자들은 이 함수를 사용하는 코드가 항상 동일한 값을 반환한다고 보고했습니다. 왜 이런 일이 발생합니까?
이 동작에는 두 가지 주요 이유가 있습니다.
초기화 부족:
rand 패키지는 rand.Intn()을 포함하여 모든 난수 생성기의 기반이 되는 전역 소스입니다. 기본적으로 이 소스는 초기화되지 않아 결정적인 값 시퀀스가 생성됩니다. 이 문제를 해결하려면 rand.Seed()를 호출하여 일반적으로 시스템 시계에서 얻은 임의의 값으로 소스를 초기화합니다.
rand.Seed(time.Now().UnixNano())
위 내용은 Go의 `rand.Intn()`이 같은 숫자를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!