鱼C论坛

 找回密码
 立即注册
查看: 688|回复: 0

[学习笔记] go生成随机年月日练习

[复制链接]
发表于 2022-10-6 22:45:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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 {
      // 228, 闰年多一天
      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
   */
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 08:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表