Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada fail wujud dalam bahasa Go

Bagaimana untuk menentukan sama ada fail wujud dalam bahasa Go

青灯夜游
青灯夜游asal
2023-01-17 15:47:027449semak imbas

Dalam bahasa Go, untuk menentukan sama ada fail wujud, anda perlu menggunakan fungsi "os.Stat()" dan menilai berdasarkan maklumat antara muka ralat yang dikembalikan oleh sintaks "_, err := os .Stat(path) if err == nil{return true, nil}if os.IsNotExist(err){return false, nil}". Jika ralat yang dikembalikan kosong, fail itu wujud.

Bagaimana untuk menentukan sama ada fail wujud dalam bahasa Go

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

Di Golang, untuk menentukan sama ada fail atau direktori wujud, anda perlu menggunakan fungsi os.Stat dan hakim berdasarkan maklumat antara muka ralat yang dikembalikan oleh fungsi os.Stat.

Sintaks bahasa Go untuk menentukan sama ada fail wujud

_, err := os.Stat(path)
if err == nil {
    return true, nil
}
if os.IsNotExist(err) {
    return false, nil
}

Penjelasan:

Gunakan os.Stat untuk mendapatkan maklumat direktori jika ralat dikembalikan ialah Jika ia kosong, ia bermakna fail itu wujud Jika mesej ralat yang dikembalikan ialah os.IsNotExist, ia bermakna fail itu tidak wujud.

Kes menentukan sama ada fail wujud

package main
import (
	"fmt"
	"os"
)
func main() {
	var(
		fileName = "C:/haicoder.txt"
	)
	_, err := os.Stat(fileName)
	if err == nil{
		fmt.Println("File exist")
		return
	}
	if os.IsNotExist(err){
		fmt.Println("File not exist")
		return
	}
	fmt.Println("File error")
	return
}

Selepas program dijalankan, output konsol adalah seperti berikut:

Bagaimana untuk menentukan sama ada fail wujud dalam bahasa Go

Gunakan os.Stat untuk mendapatkan maklumat fail, dan tentukan sama ada fail itu wujud berdasarkan mesej ralat yang dikembalikan Jika ralat kosong, maka fail itu wujud Jika ralat yang dikembalikan tidak kosong dan IsNotExist. maka fail itu tidak wujud.

Kerana, apabila kami menjalankan program, fail "C:/haicoder.txt" tidak wujud, oleh itu, program mengeluarkan "Fail tidak wujud", kini, kami mencipta fail "C:/haicoder .txt", Jalankan program sekali lagi, dan output konsol adalah seperti berikut:

Bagaimana untuk menentukan sama ada fail wujud dalam bahasa Go

Pada masa ini, kita melihat bahawa program mengeluarkan "Fail wujud".

Ringkasan menilai sama ada fail wujud dalam bahasa Go

_, err := os.Stat(path)
if err == nil {
    return true, nil
}
if os.IsNotExist(err) {
    return false, nil
}

Gunakan os.Stat untuk mendapatkan maklumat direktori Jika ralat yang dikembalikan kosong, maka fail itu wujud. Jika mesej ralat yang dikembalikan ialah os.IsNotExist, fail itu tidak wujud. Kita juga boleh merangkum fungsi ini ke dalam fungsi:

func PathExists(path string) (bool, error) {
_, err := os.Stat(path)
if err == nil {
return true, nil
}
if os.IsNotExist(err) {
return false, nil
}
return false, err
}

[Cadangan berkaitan: Pergi tutorial video, Pengajaran pengaturcaraan]

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada fail wujud dalam bahasa Go. 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