本文实例讲述了Go语言计算指定年月天数的方法。分享给大家供大家参考。具体实现方法如下:
复制代码 代码如下:package main
import (
"fmt"
"bufio"
"os"
"regexp"
"strconv"
)
func main() {
year := input("year", "^[0-9]{1}[0-9]{3}$")
month := input("month", "^(0{1}[0-9]{1}|1{1}[0-2]{1})$")
count(year, month)
fmt.Println("Press Enter button to continue ...")
reader := bufio.NewReader(os.Stdin)
lastInput, _, err := reader.ReadRune()
if err != nil {
fmt.Fprintln(os.Stderr, "Occur error when input (last) '", lastInput, "':", err)
}
return
}
func count(year int, month int) (days int) {
if month != 2 {
if month == 4 || month == 6 || month == 9 || month == 11 {
days = 30
} else {
days = 31
fmt.Fprintln(os.Stdout, "The month has 31 days");
}
} else {
if (((year % 4) == 0 && (year % 100) != 0) || (year % 400) == 0) {
days = 29
} else {
days = 28
}
}
fmt.Fprintf(os.Stdout, "The %d-%d has %d days.\n", year, month, days)
return
}
func input(name string, regexpText string) (number int) {
var validNumber = false
for !validNumber {
fmt.Println("Please input a", name, ": ")
reader := bufio.NewReader(os.Stdin)
inputBytes, _, err := reader.ReadLine()
if err != nil {
fmt.Fprintln(os.Stderr, "Occur error when input", name, ":", err)
continue
}
inputText := string(inputBytes)
validNumber, err = regexp.MatchString(regexpText, inputText)
if err != nil {
fmt.Fprintln(os.Stderr, "Occur error when match", name, "(", inputText, "):",err)
continue
}
if validNumber {
number, err = strconv.Atoi(inputText)
if err != nil {
fmt.Fprintln(os.Stderr, "Occur error when convert", name, "(", inputText, "):", err)
continue
}
} else {
fmt.Fprintln(os.Stdout, "The", name, "(", inputText, ") does not have the correct format!")
}
}
fmt.Println("The input", name, ": ", number)
return
}
希望本文所述对大家的Go语言程序设计有所帮助。
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]