第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Go不支持運(yùn)算符重載,但是如何解釋時(shí)間包

Go不支持運(yùn)算符重載,但是如何解釋時(shí)間包

Go
Smart貓小萌 2023-08-14 14:56:05
我已經(jīng)進(jìn)行 Go 之旅有一段時(shí)間了,我剛剛注意到這行代碼:-today := time.Now().Weekday()    switch time.Saturday {    case today + 0:        fmt.Println("Today.")    case today + 1:        fmt.Println("Tomorrow.")    case today + 2:        fmt.Println("In two days.")    default:        fmt.Println("Too far away.")    }如果 Go 不支持運(yùn)算符重載,我如何使用“+”運(yùn)算符來增加日期?
查看完整描述

2 回答

?
偶然的你

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊

time.Now().Weekday()返回類型為 的值time.Weekday,該值是inttoday+1有效,因?yàn)?1 是一個(gè)無類型常量,并且它的類型是根據(jù)上下文確定的。在這種情況下, 和today都是1類型time.Weekday。

另請注意,由于其定義方式,time.Saturday 為 6,因此time.Saturday == today+2可以工作,但time.Saturday+2不會匹配任何有效的工作日。


查看完整回答
反對 回復(fù) 2023-08-14
?
吃雞游戲

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

我不確定你的問題,但我想你可以注意一下包裹time。它很強(qiáng)大。


Go中有多種時(shí)間類型,如time.weekday、 、time.duration、 等time.month。它們支持+運(yùn)算符,因?yàn)樗鼈兊幕A(chǔ)類型是數(shù)字,但time.Time不受支持。它的底層類型是結(jié)構(gòu)。我們可以使用 for 運(yùn)算的方法time.Time,如Time.add, Time.sub, Time.adddate, Time.after, Time.before,Time.equa可以使用Time.unixorTime.unixnano來獲取數(shù)值類型的時(shí)間戳進(jìn)行運(yùn)算。


作為例子,我實(shí)現(xiàn)了兩種方法來計(jì)算從某個(gè)時(shí)間到下一周的時(shí)間以及與當(dāng)前時(shí)間的偏差。


import (

    "time"

)


func NextWeekdayTime(now time.Time, weekday time.Weekday) time.Time {

    return now.AddDate(0, 0, NextWeekdayNum(now, weekday))

}


func NextWeekdayNum(now time.Time, weekday time.Weekday) int {

    diff := (weekday - now.Weekday()) + 7

    if diff >= 7 {

        diff -= 7

    }


    return int(diff)

}


查看完整回答
反對 回復(fù) 2023-08-14
  • 2 回答
  • 0 關(guān)注
  • 172 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號