[go] go 언어에서 난수 생성하기
Go 언어에서는 난수를 생성하기 위한 표준 라이브러리가 제공됩니다. 난수를 생성하고 활용하는 방법을 알아보겠습니다.
목차
난수 생성하기
Go 언어에서는 math/rand
패키지를 사용하여 난수를 생성할 수 있습니다. 아래와 같이 Intn
함수를 사용하여 0부터 n 미만의 임의의 정수를 생성할 수 있습니다.
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
rand.Seed(time.Now().UnixNano())
randomNumber := rand.Intn(100)
fmt.Println(randomNumber)
}
시드 설정하기
난수 생성기는 초기값인 시드(seed)를 사용하여 난수를 생성합니다. 시드를 일정한 값으로 설정하면 프로그램을 실행할 때마다 같은 순서의 난수를 얻을 수 있습니다. 따라서 프로그램을 실행할 때마다 다른 난수를 얻기 위해서는 시드 값을 변경해야 합니다.
위 코드에서 rand.Seed(time.Now().UnixNano())
를 통해 현재 시간을 이용하여 시드를 설정하였습니다.
임의의 범위 내에서 난수 생성하기
Intn
함수는 0부터 n 미만의 임의의 정수를 생성합니다. 다른 범주 내에서 난수를 생성하기 위해서는 다음과 같이 계산하면 됩니다.
min := 5
max := 20
randomNumber := min + rand.Intn(max-min)
위 예시에서는 5부터 20 사이의 임의의 정수를 생성합니다.
이제 Go 언어를 사용하여 난수 생성하는 방법을 알아보았습니다. 난수를 생성할 때 시드를 적절히 설정하여 안정적이고 다양한 범위의 임의의 수를 얻을 수 있습니다.
참고 자료: Go 언어 공식 문서 - math/rand 패키지
```