我剛開始使用 Go 并嘗試實現(xiàn) switch 語句。據(jù)我所知在其他語言中這個語句需要“break;” 但不是在圍棋中。不知何故我的代碼直接跳轉(zhuǎn)到默認(rèn)塊。當(dāng)我寫這個問題的時候,是 2022 年 4 月 23 日,星期六。PS 如果你們中的任何人能向我推薦任何平臺,我將不勝感激,我可以在這些平臺上免費(fèi)參加 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貢獻(xiàn)1828條經(jīng)驗 獲得超13個贊
time.Sunday
是一個值為 0 的常量。在您的開關(guān)中,您將 1 或 2 添加到,today
但該值在達(dá)到值 6(星期六)后不會循環(huán)回零。
所以你的 switch 的第二個和第三個子句永遠(yuǎn)不會是真的。
這做你想要的:
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 關(guān)注
- 106 瀏覽
添加回答
舉報
0/150
提交
取消