源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Go语言计算指定年月天数的方法

  • 时间:2020-09-27 20:41 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Go语言计算指定年月天数的方法
本文实例讲述了Go语言计算指定年月天数的方法。分享给大家供大家参考。具体实现方法如下:
[u]复制代码[/u] 代码如下:
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语言程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部