我剛開始使用 Go 并嘗試實現 switch 語句。據我所知在其他語言中這個語句需要“break;” 但不是在圍棋中。不知何故我的代碼直接跳轉到默認塊。當我寫這個問題的時候,是 2022 年 4 月 23 日,星期六。PS 如果你們中的任何人能向我推薦任何平臺,我將不勝感激,我可以在這些平臺上免費參加 Go 課程。這是我的代碼:package mainimport ( "fmt" "time")func main() { fmt.Println("when is Sunday?") today := time.Now().Weekday() switch time.Sunday { case today + 0: fmt.Println("Today.") case today + 1: fmt.Println("Tommorow.") case today + 2: fmt.Println("In 2 days.") default: fmt.Println("Too far away.") }}
1 回答
慕田峪7331174
TA貢獻1828條經驗 獲得超13個贊
time.Sunday是一個值為 0 的常量。在您的開關中,您將 1 或 2 添加到,today但該值在達到值 6(星期六)后不會循環回零。
所以你的 switch 的第二個和第三個子句永遠不會是真的。
這做你想要的:
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println("when is Sunday?")
today := time.Now().Weekday()
switch today {
case time.Sunday:
fmt.Println("Today.")
case time.Saturday:
fmt.Println("Tommorow.")
case time.Friday:
fmt.Println("In 2 days.")
default:
fmt.Println("Too far away.")
}
}
- 1 回答
- 0 關注
- 112 瀏覽
添加回答
舉報
0/150
提交
取消
