我剛剛開始 Go 并嘗試實作 switch 陳述句。據我所知,其他語言中的此陳述句需要“break;” 但不是圍棋。不知何故,我的代碼直接跳轉到默認塊。到我寫這個問題的時候,已經是 2022 年 4 月 23 日,星期六。
PS 如果你們中的任何人可以向我推薦任何可以免費參加圍棋課程的平臺,我將不勝感激。
這是我的代碼:
package main
import (
"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.")
}
}
uj5u.com熱心網友回復:
time.Sunday是一個值為 0 的 const。在您的開關中,您添加 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.")
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/463408.html
