Go语言:time()函数的用法(案例三天打鱼二天晒网)

2023-12-12 18:59

本文主要是介绍Go语言:time()函数的用法(案例三天打鱼二天晒网),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在Go语言中,time.Time 的类型中,集合许多非常有用的函数,如time.Date(),time.Since(),time.Sub()等。这都大大方便了对于时间的统计。

案例:编写一个函数,判断输入的某一天是打鱼还是晒网.

思路:1、利用time.Date等函数,计算输入的那一天到指定日期的天数

           2、三天打鱼二天晒网,总计是五天,如果按第1、2、3天是打鱼的,那么第4、5天为晒

                网。用总计天数%5的余数,进行判断这一天是打鱼还是晒网。                 

package mainimport ("fmt""time"_ "strconv"
)func getDays(y, m, d int) int {    inputTime := time.Date(y, time.Month(m), d, 0, 0, 0, 0, time.Local)initTime := time.Date(1990, 1, 1, 0, 0, 0, 0, time.Local)//统计输入的日期与当前的日期之间的天数//daysSum := int(time.Since(inputTime).Hours()/24)//将天数转成小时,再除以24得出的结果就是天数,totalDays := int(inputTime.Sub(initTime).Hours()/24)return totalDays + 1 //需要加上1天
}func inputDate() (y,m,d int) {var year, month, day intvar count, i, j inta:for {fmt.Print("请输入年份:")fmt.Scanln(&year)if year >= 1990 {break a} else {count ++fmt.Printf("年份输入有误,您还有%v次机会 ...\n",5 - count)}if count == 5 {fmt.Println("您输入错误已满5次,3秒后将关闭程序...")time.Sleep(3 * time.Second)break a }}b:for {fmt.Print("请输入月份:")fmt.Scanln(&month)if month <= 12 && month >= 1 {break b} else {i ++fmt.Printf("月份输入有误,您还有%v次机会 ...\n",5 - i)}if i == 5 {fmt.Println("您输入错误已满5次,3秒后将关闭程序...")time.Sleep(3 * time.Second)break  b}}c:for {fmt.Print("请输入日期:")fmt.Scanln(&day)if day <= 31 && day >= 1 {break c}else {j ++fmt.Printf("日期输入有误,您还有%v次机会 ...\n",5 - j)}if j == 5 {fmt.Println("您输入错误已满5次,3秒后将关闭程序...")time.Sleep(3 * time.Second)break  c}}return year, month, day
}func main() {daysSum := getDays(inputDate())fmt.Printf("您输入的日期与1990年1月1日相隔%v天... \n",daysSum)daysRes := daysSum % 5switch daysRes {case 1,2,3 :fmt.Println("今天打鱼")case 4,5:fmt.Println("今天晒网")default:fmt.Println("今天休息")}}

输出的结果:

这篇关于Go语言:time()函数的用法(案例三天打鱼二天晒网)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/485616

相关文章

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数