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

golang怎麼關閉文件

青灯夜游
發布: 2022-12-19 11:16:50
原創
4792 人瀏覽過

在golang中,可以使用Close()函數來關閉檔案。 Close()函數用來關閉一個開啟的文件,語法“func (file *File) Close() error”,參數“file”表示開啟的檔案;如果開啟失敗則傳回錯誤訊息,否則傳回nil。

golang怎麼關閉文件

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

在 Golang 中,我們需要操作 文件,那麼首先我們就必須要開啟文件,開啟檔案作業完畢後,還需要關閉文件,如果只開啟文件,不關閉文件,會造成系統資源的浪費。

在 Golang 中,開啟檔案使用 Open 函數,關閉檔案使用 Close 函數,開啟檔案、關閉檔案以及大多數檔案操作都涉及到一個很重要的 os.File 結構體。

Go語言os.File結構體

#
type File struct {
*file // os specific
}
type file struct {
pfd        poll.FD
name       string
dirinfo    *dirInfo // nil unless directory being read
appendMode bool     // whether file is opened for appending
}
登入後複製

說明

我們看到,os.File 結構體裡麵包含了一個file 指針,file 指針結構體中有四個成員,分別為:

成員變數描述
pfd是一個FD 結構體類型,是一個文件的唯一標誌,每一個被打開的文件在作業系統中,都會有一個文件標誌符,來唯一標識一個文件,就是這裡的pfd。
name檔名。
dirinfo檔案的路徑訊息,也是一個結構體。
appendMode是一個 bool 類型,表示該檔案是否可以被追加寫入內容。

Go語言close函數--關閉檔案

語法

#

func (file *File) Close() error
登入後複製

參數
  • file : 開啟的檔案。   

傳回值
  • #error:如果關閉失敗,則傳回錯誤訊息,否則,傳回 nil。   

說明

使用 File 指標來呼叫 Close 函數,如果關閉失敗會傳回 error 錯誤訊息。 案例

#開啟和關閉文件

使用Open 函數開啟文件,使用Close 函數關閉文件golang怎麼關閉文件

package main
import (
	"fmt"
	"os"
)
func main() {
	fileName := "C:/haicoder.txt"
	file, err := os.Open(fileName)
	if err != nil{
		fmt.Println("Open file err =", err)
		return
	}
	fmt.Println("Open file success")
	if err := file.Close(); err != nil{
		fmt.Println("Close file err =", err)
		return
	}
	fmt.Println("Close file success")
}
登入後複製

我們使用os.Open 開啟了「C:/haicoder.txt」 文件,因為這個檔案是存在的,所以開啟和關閉檔案都成功,這裡呼叫關閉檔案是調用的os.Open 傳回的File 指標來關閉的。

接著,我們刪除“C:/haicoder.txt” 文件,再一次運行程序,程序輸出如下:golang怎麼關閉文件

我們刪除文件後,我們看到,再次開啟文件,程式報錯,因為文件不存在。 更多程式相關知識,請造訪:

程式設計影片###! ! ###

以上是golang怎麼關閉文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板