首頁 > 後端開發 > Golang > 主體

學習 GO:- 文件處理、錯誤處理

Mary-Kate Olsen
發布: 2024-10-15 12:06:41
原創
964 人瀏覽過

Learning GO : - File Handling, Error Handling

嘿!我目前正在學習 Go Lang,我正在對我的概念做一些基本的筆記,儘管我也只是將它們發佈在這裡。它們沒有經過深思熟慮或寫得很好,但只是我時不時做筆記以供參考。

我正在參加 Maximilian Schwarzmüller 的 Udemy 課程,


筆記

寫入文件

  • os套件提供了一個名為WriteFile的函數,它接收套件的名稱、要儲存在檔案中的資料和檔案模式,這將是檔案修改權限。
func writeBalanceFiles(balance float64) {
    balanceText := fmt.Sprint(balance)
    os.WriteFile("balance.txt", []byte(balanceText), 0644)
}
登入後複製

從檔案中讀取

  • 有時,當我們從函數中取得 2 個回傳值時,我們可以使用特殊的變數名稱 _ ,這表示我們想要取得該值,但不想使用它。
data, _ := os.ReadFile("balance.txt")
登入後複製
  • 這裡的資料將是位元組類型,因此為了處理這個問題,我們只能將該資料轉換為字串
  • 我們需要浮點數的資料字串,因此我們可以使用 strconv 包,它為我們提供了不同的方法來處理字串操作
  • 我們可以使用 ParseFloat 方法,它將字串轉換為浮點數,我們需要提供字串值和位元大小,可以是 32 或 64
func readFile() float64 {
    data, _ := os.ReadFile("balance.txt")
    balanceText := string(data)
    balance, _ := strconv.ParseFloat(balanceText, 64)
    return balance
}
登入後複製
  • 位元組值不能直接轉換為字串以外的任何類型,字串值不能直接轉換為任何其他類型,這需要使用 strconv 套件

錯誤處理

  • 在 GO 中,有一種特殊的錯誤類型,可以用來給出來自內建錯誤包的自訂錯誤
  • 在GO中,我們可以用nil來檢查空值
  • 幾乎所有的套件都提供一個錯誤作為帶有主值的回傳值,我們使用錯誤來檢查是否有nil值
  • 因此,如果錯誤不為零,則表示存在錯誤,在這種情況下我們可以給出一些錯誤回應
    if err != nil {
        return 1000, errors.New("failed to find balance file")
    }

登入後複製
    var accountBalance, err = readFile()

    if err != nil {
        fmt.Println("ERROR")
        fmt.Println(err)
        fmt.Println("===============")
    }
登入後複製

恐慌!

  • 有一個名為panic()的內建方法,它將停止程式執行並給出特殊錯誤
    if err != nil {
        fmt.Println("ERROR")
        fmt.Println(err)
        fmt.Println("===============")
        panic("Can't Continue Sorry!")
    } 
登入後複製

以上是學習 GO:- 文件處理、錯誤處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!