| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
go语言学习基础练习, 生成随机年月日. 代码如下: 
 
package main // 设置包名 
 
import ( // 导入包名,使其可用 
   "fmt" 
   "math/rand" 
   "time" 
) 
 
// ---------------------------随机生成年,月,日------------------------------- 
func main() { 
   rand.Seed(time.Now().UnixNano()) // 设置随机数种子为时间戳纳秒 
   for i := 1; i <= 10; i++ { 
      var era string 
      var year = rand.Intn(2022-1970+1) + 1970 // 变量 随机生成1970-2022年 
      var month = rand.Intn(12) + 1            // 变量 随机生成1-12月 
      var daysInMonth int                      // 变量 每个月多少天 
 
      // 判断是否闰年. 1.能被400整除的年份是闰年; 2.能被4整除并且不能被100整除的年份是闰年. 
      if year%400 == 0 || (year%4 == 0 && year%100 != 0) { 
         era = "*闰年" 
      } else { 
         era = "平年" 
      } 
 
      switch month { 
      // 2月28天, 闰年多一天 
      case 2: 
         if era == "*闰年" { 
            daysInMonth = 29 
         } else { 
            daysInMonth = 28 
         } 
      case 4, 6, 9, 11: // 月小,每月30天 
         daysInMonth = 30 
      default: // 月大:1,3,5,7,8,10,12,每月31天 
         daysInMonth = 31 
      } 
 
      var day = rand.Intn(daysInMonth) + 1                    // 随机生成某月的一天 
      fmt.Printf("%3v %v-%02v-%02v\n", era, year, month, day) // 输出年,月,日 
   } 
 
   /* -----输出示例:------- 
    平年 2022-05-04 
   *闰年 2020-03-21 
    平年 2007-03-24 
   *闰年 1984-03-04 
    平年 1973-04-13 
    平年 1995-10-05 
    平年 2018-03-11 
    平年 2015-04-16 
   *闰年 1984-11-28 
    平年 1989-05-18 
   */ 
} 
 |   
 
 
 
 |