Rumah >pembangunan bahagian belakang >Golang >Adakah fail golang perlu ditutup?

Adakah fail golang perlu ditutup?

青灯夜游
青灯夜游asal
2023-01-03 11:52:023869semak imbas

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
}

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)

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

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")
}

[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!

Kenyataan:
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