這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
package mainimport ("fmt")var(input_Data intresult intyear_data intmonth_data intday_data intsum int)//題目:輸入某年某月某日,判斷這一天是這一年的第幾天?func get_Input(input_Type string) (int,error) {switch input_Type {case "year":fmt.Println("輸入年份: ")fmt.Scanln(&input_Data)if input_Data <1 {fmt.Println("年份輸入錯誤,請重新輸入!")break}result = input_Datacase "month":months := []int{0,31,59,90,120,151,181,212,243,273,304,334}fmt.Println("輸入月份:")fmt.Scanln(&input_Data)if (input_Data <= 12) && (input_Data<0) {fmt.Println("月份輸入錯誤,請重新輸入!")break}result = months[input_Data-1]case "day":fmt.Println("輸入日期:")fmt.Scanln(&input_Data)if (input_Data <0) && (input_Data>31) {fmt.Println("日期輸入錯誤,請重新輸入!")break}result = input_Datadefault:return 0,fmt.Errorf("輸入參數非法:%s",input_Type)}return result,nil}func main() {year_data,_ = get_Input("year")month_data,_ = get_Input("month")day_data,_ = get_Input("day")sum += day_data+ month_dataleap := 0if (year_data % 400 == 0) || ((year_data % 4 == 0) && (year_data % 100 != 0)){leap = 1}if (leap == 1) && (month_data > 2) {sum += 1}fmt.Printf("該日期為第%s天",sum)}