golang檔案要關閉嗎

2023-01-03 14:00:21

golang檔案要關閉。Golang中操作檔案時,需要先開啟檔案,開啟檔案操作完畢後,還需要關閉檔案;因為如果只開啟檔案,不關閉檔案,會造成系統資源的浪費。Go語言中關閉檔案使用Close函數,語法「func (file *File) Close() error」,引數「file」表示開啟的檔案;如果開啟失敗則返回錯誤資訊,否則返回nil。

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

Golang開啟關閉檔案

在Golang中我們操作檔案時,需要先開啟檔案,開啟檔案操作完畢後,還需要關閉檔案,如果只開啟檔案,不關閉檔案,會造成系統資源的浪費。

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

1.1 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型別,表明該檔案是否可以被追加寫入內容

1.2 Open函數

語法:

func Open(name string) (*File, error)
登入後複製

引數:

  • name:檔名

返回值:

  • File:開啟的檔案控制程式碼
  • err:如果開啟失敗,則返回錯誤資訊,否則返回nil

說明

Open函數接受一個字串型別的檔名作為引數,如果開啟成功,則返回一個File結構體的指標,否則就返回error錯誤資訊。

1.3 Close函數

語法:

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

引數:

  • file:開啟的檔案

返回值

  • error:如果開啟失敗則返回錯誤資訊,否則返回nil

說明:

  • 使用File指標來呼叫Close函數,如果關閉失敗,則返回error錯誤資訊。

1.4 範例說明

使用Open函數開啟檔案,使用Close函數關閉檔案:

package main

import (
	"fmt"
	"os"
)

func main() {
	fmt.Println("Open File Test")
	fileName := "D:/go專案/test.go"
	file, err := os.Open(fileName)
	if err != nil {
		fmt.Println("Open file err:", err)
		return
	}
	fmt.Println("Open File Sucess")
	if err := file.Close(); err != nil {
		fmt.Println("Close File Err:", err)
		return
	}
	fmt.Println("Close File Success")
}
登入後複製

【相關推薦:Go視訊教學、】

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