hello.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package main
  2. import (
  3. "math/rand"
  4. "reflect"
  5. ) //引入math/rand标准库包,并以rand作为引入名
  6. const MaxRand = 16 // 声明一个具名整型常量
  7. // 一个函数声明
  8. /* StatRandomNumbers生成一些不大于MaxRand的非负
  9. 随机整数,并统计和返回小于和大于MaxRand/2的随机数
  10. 个数。输入参数numRands指定了要生成的随机数的总数。
  11. */
  12. func StatRandomNumbers(numRands int) (int, int) {
  13. // 声明了两个变量(类型都为int,初始值都为0)
  14. var a, b int
  15. // 一个for循环代码块
  16. for i := 0; i < numRands; i++ {
  17. // 一个if-else条件控制代码块
  18. if rand.Intn(MaxRand) < MaxRand/2 {
  19. a = a + 1
  20. } else {
  21. b++ // 等价于:b = b + 1
  22. }
  23. }
  24. return a, b // 此函数返回两个结果
  25. }
  26. // main函数,或主函数,是一个程序的入口函数。
  27. func main() {
  28. var num = 100
  29. // 调用上面声明的StatRandomNumbers函数,
  30. // 并将结果赋给使用短声明语句声明的两个变量。
  31. x, y := StatRandomNumbers(num)
  32. // 调用两个内置函数(print和println)。
  33. print("Result: ", x, " + ", y, " = ", num, "? ")
  34. println(x+y == num)
  35. println(reflect.TypeOf("num").Name())
  36. }