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

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

Go 1.13 中時(shí)區(qū)無(wú)法加載

Go 1.13 中時(shí)區(qū)無(wú)法加載

Go
繁星點(diǎn)點(diǎn)滴滴 2023-08-07 14:55:16
這個(gè)簡(jiǎn)單的代碼:tzloc, err := time.LoadLocation(service.Settings.TimezoneName)if err != nil {    panic(err)}在 Go 1.12 中工作得很好,但在 1.13 中,它因“未知時(shí)區(qū)澳大利亞/墨爾本”而失敗。我確信它在某些環(huán)境下可以工作,但無(wú)論出于何種原因,它在 1.13 中就被破壞了。它通過恢復(fù)到 1.12 立即得到修復(fù)。我想知道是否有人知道 1.13 中的任何問題或原因,盡管發(fā)行說明中有這樣的保證:“一如既往,該版本保持了 Go 1 的兼容性承諾。我們期望幾乎所有 Go 程序都能繼續(xù)編譯和運(yùn)行像以前一樣跑?!?
查看完整描述

5 回答

?
POPMUISE

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

對(duì)于 docker,解決方案是添加 tzdata 或等效包。這解決了使用 go 1.13 時(shí)的問題

http://pouzek.si/blog/go-loadlocation-docker/

FROM gliderlabs/alpine:3.3


RUN apk add --no-cache tzdata


COPY out/go-loadlocation-docker /go-loadlocation-docker


ENTRYPOINT ["/go-loadlocation-docker"]


查看完整回答
反對(duì) 回復(fù) 2023-08-07
?
慕桂英4014372

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

這發(fā)生在我們身上,我們將zoneinfo.zip文件與我們的程序捆綁在一起,因?yàn)槲覀冃枰?Windows 服務(wù)器上運(yùn)行它。我們將 ZONEINFO 環(huán)境變量設(shè)置為 .zip 文件的路徑,然后調(diào)用time.LoadLocation("America/Chicago"). 在 1.12 版本中這很好。我們升級(jí)到1.13版本,遇到了“系統(tǒng)找不到指定的路徑”的問題。當(dāng)調(diào)用 LoadLocation 時(shí)。

在我們的例子中,將 golang 存儲(chǔ)庫(kù)中的捆綁文件更新zoneinfo.zip到最新版本解決了該問題。我們之前使用的版本來自 commit af3c48096。不確定這是否與您遇到的問題相同,因?yàn)椴磺宄欠裣裎覀円粯硬渴鹪?zip 文件,但我想我會(huì)為遇到該問題的其他人提供幫助。

注意:這僅影響未安裝 Go 版本 1.13 的情況 - 當(dāng)我在本地運(yùn)行它時(shí),一切都很好,因?yàn)樗赝说?$GOROOT 文件夾中的版本(這是安裝 1.13 時(shí)更新的版本)。該錯(cuò)誤發(fā)生在未安裝 Go 的 Windows 計(jì)算機(jī)上,如果我刪除了 $GOROOT\lib\time\zoneinfo.zip 文件,也會(huì)發(fā)生在本地。


查看完整回答
反對(duì) 回復(fù) 2023-08-07
?
手掌心

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

如果您準(zhǔn)確地傳遞Australia/Melbournetime.LoadLocation,那么您應(yīng)該檢查 zoneinfo 文件。

https://golang.org/pkg/time/#LoadLocation

該名稱被視為與 IANA 時(shí)區(qū)數(shù)據(jù)庫(kù)中的文件相對(duì)應(yīng)的位置名稱。

LoadLocation 所需的時(shí)區(qū)數(shù)據(jù)庫(kù)可能并不存在于所有系統(tǒng)上,尤其是非 Unix 系統(tǒng)。LoadLocation 查找由 ZONEINFO 環(huán)境變量命名的目錄或未壓縮的 zip 文件(如果有),然后查找 Unix 系統(tǒng)上的已知安裝位置,最后查找 $GOROOT/lib/time/zoneinfo.zip。


查看完整回答
反對(duì) 回復(fù) 2023-08-07
?
守候你守候我

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

導(dǎo)入time/tzdata將導(dǎo)致時(shí)區(qū)信息嵌入到程序中。因此,如果時(shí)間包在系統(tǒng)上找不到 tzdata 文件,它將使用此嵌入信息。

請(qǐng)記住,根據(jù)文檔:

導(dǎo)入此包將使程序大小增加約 450 KB。

示例代碼可能是這樣的:

package main


import (

? ? "fmt"

? ? "time"

? ? _ "time/tzdata"

)


func main() {

? ? tzloc, err := time.LoadLocation("Australia/Melbourne")

? ? if err != nil {

? ? ? ? panic(err)

? ? }

? ? fmt.Println(location)

}


查看完整回答
反對(duì) 回復(fù) 2023-08-07
?
慕哥9229398

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

使用 中的硬編碼時(shí)區(qū)字符串進(jìn)行測(cè)試time.LoadLocation。我懷疑你的變量中可能有空格TimezoneName。


否則,LoadLocation 可以按照 Go1.13 中的預(yù)期正常工作。


package main


import (

? ? "fmt"

? ? "time"

)


func main() {

? ? location, err := time.LoadLocation("Australia/Melbourne")

? ? if err != nil {

? ? ? ? panic(err)

? ? }


? ? timeInUTC := time.Date(2018, 8, 30, 12, 0, 0, 0, time.UTC)

? ? fmt.Println(timeInUTC.In(location))

}

上面的代碼2018-08-30 22:00:00 +1000 AEST作為 Go?Playground的輸出給出。Go Playground 使用 go 1.13。

但如果我在周圍留一個(gè)空格

location,?err?:=?time.LoadLocation("Australia/Melbourne?")
if?err?!=?nil?{
?????panic(err)
}

它給出了您遇到的錯(cuò)誤。

恐慌:未知時(shí)區(qū) 澳大利亞/墨爾本


查看完整回答
反對(duì) 回復(fù) 2023-08-07
  • 5 回答
  • 0 關(guān)注
  • 231 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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