亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我的代碼直接跳轉到默認值?Go 中的開關盒

為什么我的代碼直接跳轉到默認值?Go 中的開關盒

Go
UYOU 2022-12-05 16:50:36
我剛開始使用 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.")

    }

}


查看完整回答
反對 回復 2022-12-05
  • 1 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號