golang study lottery

I wrote lottery function to learn golang.

package main

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

func main() {
  var ret = make(map[int]float32)

  for i:=0;i<10000;i++ {
    ret[lottery()] += 1
  }
  fmt.Printf("ret[1]:%0.2f\n", ret[1] / 100)
  fmt.Printf("ret[2]:%0.2f\n", ret[2] / 100)
  fmt.Printf("ret[3]:%0.2f\n", ret[3] / 100)
  fmt.Printf("ret[4]:%0.2f\n", ret[4] / 100)
}

func lottery() int {
  // Probability model
  // 1 hit.  1/100 1, 1
  // 2 hit. 10/100 2, 11
  // 3 hit. 25/100 12, 36
  // miss.  64/100 37, 100
    rand.Seed( time.Now().UTC().UnixNano())
  p := [4]int{1,10,25,64}
  denomi := 100
  r := rand.Intn(denomi)
  //fmt.Printf("r:%d\n", r)
  switch {
  case r < p[0]: return 1
  case r < (p[0] + p[1]) - 1: return 2
  case r < (p[1] + p[2]) - 1: return 3
  default: return 4
  }
}

To Build and run as following:

╰─➤  go build lottery.go
╰─➤  ./lottery
ret[1]:0.79
ret[2]:9.07
ret[3]:24.32
ret[4]:65.82