package main
import ( "fmt" "os" )
type tt struct { //定义数据结构 tt,用于存放每日的课程 One string //0 Two string //1 Three string //2 Four string //3 } type DAY struct { //定义数据结构 DAY ,用于存放一周的,英文简写 week string }
func main() { //主函数 var weekday int //定义一个int 类型的值,weekday //fmt.Printf("Enter the weekday : ") //fmt.Scanf("%d",&weekday) weekday = getday() //从getday()函数中得返回值,(如,1,2,3,....7) print_tt(weekday) //把从getday()函数中得到的返回值,传送给print_tt()函数,用于显示一周中,特定的星期的课程 }
func print_tt(weekday int) { //用于显示每日的课程
DAYS := DAY{"Mon, Tus, Wed, Thu , Fri , Sat , Sun"} //初始化数据结构DAY,值为DAYS,内容为"Mon,Tus,..." Monday := tt{"1-2,1-604,English" ,"5-6,3-303,MacroEco", "7-8,1-501,Market" , " "} //定义Monday为tt结构类型,并初始化,下面的理解一样 Tusday := tt{"3-4,Ground,Physical" , "5-6,1-508,Social Market" ,"7-8,(11,15,19),3-308,Xingxi" ," "} Wednesday := tt{"3-4,1-604,English" , "5-6,1-504,Tongjixue" ," " , " "} Thusday := tt{"1-2,English Lisen" , "3-4,5-201,Internation Theory" ," " , " "} Friday := tt{"3-4,3-209,MaoZheDong" , "5-6,1-504,TongjiXue" ," ", " "} var get_tt int get_tt = weekday //下面的如果为判断输入的数字为多少,并分开了两个部分进行比较 if get_tt > 3 && get_tt < 7 { //第一部分, 3-7 for i :=3 ;i <= get_tt ; i++ { if i == get_tt { switch i { case 4: fmt.Printf("%s\n%s\n \n",Thusday.One,Thusday.Two) case 5: fmt.Printf("%s\n%s\n \n",Friday.One,Friday.Two) case 6: fmt.Printf("Holiday Now") // case 7: fmt.Printf("Holiday now\n") } } } } else if get_tt <=3 && get_tt > 0 { //第二部分,0-3 for j := 0 ; j <= get_tt ; j++ { if j == get_tt { switch j { case 1: fmt.Printf("%s\n%s\n%s\n \n",Monday.One,Monday.Two,Monday.Three) case 2: fmt.Printf("%s\n%s\n%s\n \n",Tusday.One,Tusday.Two,Tusday.Three) case 3: fmt.Printf("%s\n%s\n \n",Wednesday.One,Wednesday.Two) } } } } else if get_tt == 8 { //第三部分是,当get_tt = 8,这个值是为getday()函数默认得到的 fmt.Printf("Please input the weekday name\n") fmt.Printf("Example: timetable Mon or timetable.exe Mon\n") fmt.Printf("weekday define as belows\n") fmt.Printf("%s\n",DAYS.week) } else { fmt.Printf("Input Error") } } func getday() int { //此函数是将程序运行时,输入的参数改为数字形式,再返回 //函数的原型为fnuc getday() int ,其中getday()为函数,而这个int为返回值的类型。 if len(os.Args) > 1 { /*os.Args[0] is "timetable" or "timetable.exe" */ if os.Args[1] == "Mon" { return 1 } if os.Args[1] == "Tus" { return 2 } if os.Args[1] == "Wed" { return 3 } if os.Args[1] == "Thu" { return 4 } if os.Args[1] == "Fri" { return 5 } if os.Args[1] == "Sat" || os.Args[1] == "Sun" { return 6 } } return 8 //当没有输入参数或者输入的参数,与给出的值,不相同 //就会返回8,这就是在print_tt()函数中的 get_tt = 8,的原因了。 }
有疑问加站长微信联系(非本文作者)