Adakah fail golang perlu ditutup?

青灯夜游
Lepaskan: 2023-01-04 09:12:33
asal
3820 orang telah melayarinya

Fail golang perlu ditutup. Apabila mengendalikan fail di Golang, anda perlu membuka fail terlebih dahulu Selepas operasi membuka fail selesai, anda perlu menutup fail kerana jika anda hanya membuka fail dan tidak menutup fail, ia akan menyebabkan pembaziran sumber sistem. Dalam bahasa Go, fungsi Tutup digunakan untuk menutup fail Sintaks ialah "func (fail *Fail) Tutup() ralat dikembalikan, jika tidak nil dikembalikan.

Adakah fail golang perlu ditutup?

Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.

Buka dan tutup fail di Golang

Apabila kita mengendalikan fail di Golang, kita perlu membuka fail terlebih dahulu Selepas operasi membuka fail selesai, kita juga perlu untuk menutup fail Jika kita hanya membuka fail , tidak menutup fail akan menyebabkan pembaziran sumber sistem.

Untuk membuka fail dalam Golang, gunakan fungsi Buka dan untuk menutup fail, gunakan fungsi Tutup Membuka fail, menutup fail dan kebanyakan operasi fail melibatkan struktur yang sangat penting, iaitu os. Struktur fail.

1.1 os.Struktur fail

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
}
Salin selepas log masuk

Penjelasan:
Anda boleh lihat os di sini Struktur fail mengandungi penunjuk fail. Struktur penunjuk fail mempunyai empat ahli, iaitu:

  • pfd: Ia adalah jenis struktur FD dan satu-satunya pengecam fail Setiap ahli akan mempunyai a pengecam fail dalam sistem pengendalian untuk mengenal pasti fail secara unik, iaitu pfd.
  • nama di sini: nama fail
  • dirinfo: maklumat laluan fail, juga A struktur
  • appendMode: ialah jenis bool yang menunjukkan sama ada fail boleh dilampirkan pada kandungan

1.2 Fungsi terbuka

Sintaks :

func Open(name string) (*File, error)
Salin selepas log masuk

Parameter:

  • nama: nama fail

Nilai pulangan:

  • Fail: Buka pemegang fail
  • err: Jika pembukaan gagal, kembalikan mesej ralat, jika tidak, kembalikan sifar

Penjelasan

Fungsi Buka menerima nama fail rentetan sebagai parameter Jika pembukaan berjaya, ia mengembalikan penunjuk kepada struktur Fail, jika tidak, ia mengembalikan maklumat.

1.3 Tutup fungsi

Sintaks:

func (file *File) Close() error
Salin selepas log masuk

Parameter:

  • fail: Buka fail

Nilai pulangan

  • ralat: Jika pembukaan gagal, kembalikan mesej ralat, jika tidak, kembalikan sifar

Penerangan:

  • Gunakan penuding Fail untuk memanggil fungsi Tutup , jika ia ditutup Jika ia gagal, mesej ralat akan dikembalikan.

1.4 Contoh

Gunakan fungsi Buka untuk membuka fail dan fungsi Tutup untuk menutup fail:

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")
}
Salin selepas log masuk

[Cadangan berkaitan: Pergi tutorial video, Pengajaran pengaturcaraan]

Atas ialah kandungan terperinci Adakah fail golang perlu ditutup?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan