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

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

無法使用 Golang 掃描文件路徑

無法使用 Golang 掃描文件路徑

Go
慕碼人8056858 2023-03-15 14:39:54
我正在使用 Go 中的 Cobra 框架創(chuàng)建一個(gè)客戶端,其中包括將文件上傳到即將發(fā)布的傳輸服務(wù)。我希望它是一個(gè)具有默認(rèn)下載文件夾的最低限度可定制的。當(dāng)我想檢查一個(gè)文件夾是否存在,該文件夾是一個(gè)文件夾而不是一個(gè)文件或檢查我是否有權(quán)寫入該文件夾時(shí)出現(xiàn)問題,我收到一個(gè)巨大的 goroutine 錯(cuò)誤。要知道:我在 macOS 中使用拖放var dldpath stringinquire.Query().Input(&dldpath, "Chemin du dossier de téléchargement ", nil).Exec()println("le chemin est : ", dldpath)if len(dldpath) == 0 {    fmt.Println(chalk.Red, "Erreur : Vous devez spécifier un dossier à téléverser")    os.Exit(0)}dir, err := os.Stat(dldpath)if !dir.IsDir() {    fmt.Println(chalk.Red, "Erreur : Le chemin spécifié n'est pas un dossier")    os.Exit(0)}if errors.Is(err, os.ErrNotExist) {    fmt.Println(chalk.Red, "Erreur : Dossier introuvable")    os.Exit(0)}screen.Clear()screen.MoveTopLeft()fmt.Println(chalk.Green, "Dossier de téléchargement par défaut changé avec succès")錯(cuò)誤:(對(duì)不起,我無法上傳圖片)le chemin est :  '/Users/eliezayat/Downloads/bassine wavy.png'panic: runtime error: invalid memory address or nil pointer dereference[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x119b260]goroutine 1 [running]:freetranscli/cmd.glob..func3(0x1370900?, {0x11ef012?, 0x0?, 0x0?})        /Users/eliezayat/Documents/freetranscli/cmd/set.go:44 +0x280github.com/spf13/cobra.(*Command).execute(0x1370900, {0x13a3d80, 0x0, 0x0})        /Users/eliezayat/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:920 +0x847github.com/spf13/cobra.(*Command).ExecuteC(0x1370620)        /Users/eliezayat/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:1044 +0x3bdgithub.com/spf13/cobra.(*Command).Execute(...)        /Users/eliezayat/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:968freetranscli/cmd.Execute()        /Users/eliezayat/Documents/freetranscli/cmd/root.go:28 +0x25main.main()        /Users/eliezayat/Documents/freetranscli/main.go:8 +0x17exit status 2
查看完整描述

1 回答

?
湖上湖

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

如果dir變量是nil你會(huì)收到nil pointer dereference。


最好在errors.Is檢查 dir( dir.IsDir()) 之前檢查是否有任何錯(cuò)誤 ( ):


dir, err := os.Stat(dldpath)

if errors.Is(err, os.ErrNotExist) {

    fmt.Println(chalk.Red, "Erreur : Dossier introuvable")

    os.Exit(0)

}

if !dir.IsDir() {

    fmt.Println(chalk.Red, "Erreur : Le chemin spécifié n'est pas un dossier")

    os.Exit(0)

}


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

添加回答

舉報(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)