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")
	}	
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值