golang怎麼關閉檔案

2022-12-19 14:00:31

在golang中,可以使用Close()函數來關閉檔案。Close()函數用於關閉一個開啟的檔案,語法「func (file *File) Close() error」,引數「file」表示開啟的檔案;如果開啟失敗則返回錯誤資訊,否則返回nil。

php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:

本教學操作環境: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 函數關閉檔案

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")
}
登入後複製

1.png

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

接著,我們刪除 「C:/haicoder.txt」 檔案,再一次執行程式,程式輸出如下:

2.png

我們刪除檔案後,我們看到,再次開啟檔案,程式報錯,因為檔案不存在。

更多程式設計相關知識,請存取:!!

以上就是golang怎麼關閉檔案的詳細內容,更多請關注TW511.COM其它相關文章!