Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: GoLang ::: Dicas & Truques ::: Matemática e Estatística

Como gerar um número aleatório em Go usando as funções rand.Int(), rand.Intn(n) e rand.Float64()

Quantidade de visualizações: 1297 vezes
Os números aleatórios, ou números randômicos, estão presentes em boa parte dos nossos algorítmos, principalmente programas de simulações e jogos.

Na linguagem Golang, números aleatórios podem ser gerados usando-se as funções rand.Int(), rand.Intn(n) e rand.Float64() do pacote "math/rand".

Veja um exemplo de código Go no qual usamos a função rand.Int() para gerar um número inteiro aleatório sem especificarmos a faixa inicial e final. Note o uso da função rand.Seed() para alimentar o gerador de números randômicos:

// pacote principal
package main

// vamos importar os módulos necessários
import (
  "fmt"
  "math/rand"
  "time"
)
  
// esta é a função principal do programa
func main() {
  // fazemos o seed do gerador de números
  // aletórios
  rand.Seed(time.Now().UnixNano())


Ao executar este código Golang nós teremos o seguinte resultado:

O número gerado foi: 5202443329113796449

Em todos os meus testes o número gerado foi assim mesmo, gigante. No entanto, haverá situações nas quais gostaríamos de fornecer a faixa dos números aleatórios a serem gerados. Para isso nós podemos usar a função rand.Intn(n), que aceita um número inteiro e gera um número randômico na faixa que vai de 0 até o parâmetro informado (sem incluí-lo).

Assim, veja um exemplo no qual geramos um número aleatório de 1 até 10:

// pacote principal
package main

// vamos importar os módulos necessários
import (
  "fmt"
  "math/rand"
  "time"
)
  
// esta é a função principal do programa
func main() {
  // fazemos o seed do gerador de números
  // aletórios
  rand.Seed(time.Now().UnixNano())
  


Ao executarmos este código Golang nós teremos o seguinte resultado:

O número gerado foi: 8

Finalmente, podemos usar a função rand.Float64() para gerar números randômicos na faixa que vai de 0.0 até 1.0 (sem incluir a faixa mais alta, ou seja, o valor 1.0). Veja:

// pacote principal
package main

// vamos importar os módulos necessários
import (
  "fmt"
  "math/rand"
  "time"
)
  
// esta é a função principal do programa
func main() {
  // fazemos o seed do gerador de números
  // aletórios
  rand.Seed(time.Now().UnixNano())


Ao executar este código Go nós teremos o seguinte resultado:

O número gerado foi: 0.883416

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de GoLang

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 25 usuários muito felizes estudando em nosso site.