| 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: 1452 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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
// 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())
  
  // vamos gerar um número inteiro aleatório
  var numero = rand.Int()
  
  // vamos mostrar o número gerado
  fmt.Printf("O número gerado foi: %d", numero)
}
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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
// 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())
  
  // vamos gerar um número inteiro aleatório
  // na faixa de 1 a 10 (incluindo os dois números)
  var numero = rand.Intn(10) + 1
  
  // vamos mostrar o número gerado
  fmt.Printf("O número gerado foi: %d", numero)
}
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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
// 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())
  
  // vamos gerar um número real aleatório
  // na faixa de 0.0 a 1.0 (sem incluir o 1.0)
  var numero = rand.Float64()
  
  // vamos mostrar o número gerado
  fmt.Printf("O número gerado foi: %f", numero)
}
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 | ||||
| 
 | ||||
| 
 | ||||
| Linguagens Mais Populares | ||||
| 
			   1º lugar: Java | 


 
 





