본문 바로가기
Go언어/Go언어 예제

(조건문 예제) 난수 생성하기

by 현준의코딩 2023. 10. 24.

반복문 없이 조건문만 사용

rand.Intn에 숫자를 전달하면 ( )에서 해당 숫자 사이에 존재하는 임의의 정숫값이 반환된다.

난수(rand)는 0~1 사이에 숫자이다.

1~100으로 난수를 지정하려면 rand.Intn(100) + 1

rand.seed : 매번 다른 난수를 생성하기 위해서이다. (time, math/rand 패키지 필요)

package main

import (
    "fmt"
    "log"
    "math/rand"
    "time"
)

func main() {
    seconds := time.Now().Unix() // 현재 날짜 및 시간을 정숫값으로 가져옴
    rand.Seed(seconds)           // 난수 생성기를 시딩함.
    target := rand.Intn(100) + 1 // 매번 다른 난수가 생성된다.
    fmt.Println(target)
    fmt.Println("1부터 100까지의 숫자를 골라보세요!")

    var reader int
    fmt.Println("추측한 숫자를 입력해주세요!")
    _, err := fmt.Scanln(&reader)
    if err != nil {
        log.Fatal(err)
    }

    if reader < target {
        fmt.Println("업입니다!")
    } else if reader > target {
        fmt.Println("다운 입니다!")
    }
}