• 2022.9.20 go语言课程作业


    第一问

    获取当前日期, 判断是否为闰年, 且计算当前是这一年中的第几天

    • 获取当前时间需要使用 time 库, 所以需要 import
    • 若某一年份可以整除 4 但不能整除 100 或者整除 400 , 则该年份为闰年

    如何计算当前日期是这一年中的第几天?

    1. 使用 time 库中的 date 函数构造 2022 年的 1 月 1 日
    2. 然后用当前日期减去这个时间点便可得出

    注意点:

    1. 两个年份相减需要使用点来调用 Sub 函数进行计算
    2. 得到结果之后需要使用 Hours 函数才能得到相差多少小时
    3. 相减之后的结果只有三种, 分别是小时, 分钟, 秒, 所以需要进行额外计算才可得到具体的天

    最后将得到的小时数 除以 24 便是结果

    package main
    
    import "fmt"
    import "time"
    
    func main() {
    	 year := time.Now().Year()
    	 if year % 4 == 0 && year % 100 != 0 || year % 400 == 0 {
    	 	fmt.Println("\nYES")
    	 } else{
    	 	fmt.Println("\nno")
    	 }
    	 firstDay := time.Date(2022, 1, 1, 0, 0, 0, 0, time.Local)
    	 fmt.Println(int((time.Now().Sub(firstDay)).Hours() / 24 + 1))
    }
    

    第二问

    输入一个分数, 并评定等级, 90分以上为优秀, 80到90之间为良好, 80到70之间为中等, 70到60之间为及格, 60以下为不合格

    • 获取输入的变量值使用 fmt 包中的 scan 函数, 对变量进行取地址即可
    • 这里使用第二种形式的 switch , 不需要在 switch 后面写变量, 直接在 case 的后面写上表达式即可
    package main
    
    import "fmt"
    
    func main() {
    	var score int
    	fmt.Scan(&score)
    	switch {
    	case score >= 90:
    		fmt.Println("excellent")
    	case score >= 80:
    		fmt.Println("good")
    	case score >= 70:
    		fmt.Println("middle")
    	case score >= 60:
    		fmt.Println("pass")
    	default:
    		fmt.Println("failed")
    	}	
    }
    
  • 相关阅读:
    ⑪霍兰德RC*型如何选专业?高考志愿填报选专业
    Ansible 自动化运维工具的使用
    springboot+vue开发的智慧学校源码(人脸识别+电子班牌+小程序)
    c# xml 参数读取的复杂使用
    手工编译安装nginx
    Locust 之 User
    ImageJ软件使用教程(二):图像测量
    场景应用:线程池的队列大小你通常怎么设置?
    【学习笔记】「JOI Open 2022」长颈鹿
    nessus安装使用过程
  • 原文地址:https://blog.csdn.net/qq_42940836/article/details/126959386