流程控制语句
go的流程控制语句 for 简单for for i := 0; i < 10; i++ { sum += i } for 是 Go 中的 “while” sum := 1 for sum < 1000 { sum += sum } 无限循环 for { } if 正常if if x < 0 { return sqrt(-x) + "i" } 简短if -- 同 for 一样, if 语句可以在条件表达式前执行一个简单的语句。 if v := math.Pow(x, n); v < lim { return v } switch(默认每个case自带break) 有条件的 today := time.Now().Weekday() switch time.Saturday { case today + 0: fmt.Println("Today.") case today + 1: fmt.Println("Tomorrow.") default: fmt.Println("Too far away.") } 无条件的 t := time.Now() switch { case t.Hour() < 12: fmt.Println("Good morning!") case t.Hour() < 17: fmt.Println("Good afternoon.") default: fmt.Println("Good evening.") } defer defer 语句会将函数推迟到外层函数返回之后执行。有点像java的finally 推迟的函数调用会被压入一个栈中。当外层函数返回时,被推迟的函数会按照后进先出的顺序调用。