[Golang] 난수 생성 math/rand 패키지 사용법
Go의 패키지 math/rand는 유사 난수 생성을 위한 일련의 함수를 제공합니다.
math/randGo에서 패키지를 사용하는 단계는 다음과 같습니다 .
math/rand 패키지를 가져옵니다
import "math/rand"
난수 시드 생성
rand.Seed(time.Now().UnixNano())
이 Seed 함수는 생성기의 초기값을 설정합니다.
생성된 일련의 숫자를 완전히 무작위로 만들기 위해 일반적으로 time.Now().UnixNano( ) 함수를 사용하여 현재 시간을 시드합니다.
난수 생성
math/rand 패키지는 다양한 유형의 난수를 생성하는 여러 기능을 제공합니다. 몇 가지 예는 다음과 같습니다.
- 0과 n 사이의 임의의 정수를 생성합니다 (n은 제외)
rand.Intn(n)
- 0.0과 1.0(제외) 사이의 임의의 float64를 생성합니다.
rand.Float64()
- 임의의 부울 값을 생성합니다.
rand.Bool()
- n 정수의 임의 순열을 생성합니다.
rand.Perm(n)
- 요소 조각 섞기
rand.Shuffle(len(slice), func(i, j int) { slice[i], slice[j] = slice[j], slice[i] })
참고: 이 math/rand패키지는 결정론적 알고리즘을 기반으로 하므로 진정한 난수를 생성하는 데 적합하지 않습니다.
진정한 난수가 필요한 경우 crypto/rand와 같은 암호화 난수 생성기를 사용하는 것이 좋습니다.
'Golang' 카테고리의 다른 글
[Golang] golang 동시성 관리하기 sync 패키지 사용법 (0) | 2023.02.22 |
---|---|
[Golang] flag 패키지 사용법 (0) | 2023.02.20 |
[Golang] time 패키지 사용법 (0) | 2023.02.19 |
[Golang] golang 공부 로드맵 (0) | 2023.02.17 |
[Golang] golang 설치하는 법 (0) | 2023.02.17 |
댓글