Home  >  Article  >  Backend Development  >  How to determine whether a file exists in Go language

How to determine whether a file exists in Go language

青灯夜游
青灯夜游Original
2023-01-17 15:47:027386browse

In the Go language, to determine whether a file exists, you need to use the "os.Stat()" function, and judge based on the error interface information returned by the function; the syntax "_, err := os .Stat(path) if err == nil{return true, nil}if os.IsNotExist(err){return false, nil}". If the error returned is empty, the file exists.

How to determine whether a file exists in Go language

The operating environment of this tutorial: Windows 7 system, GO version 1.18, Dell G3 computer.

In Golang, to determine whether a file or directory exists, you need to use the os.Stat function and judge based on the error interface information returned by the os.Stat function.

The syntax of Go language to determine whether a file exists

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

Instructions:

Use os.Stat to obtain directory information. If the returned error is empty, Then the file exists. If the error message returned is os.IsNotExist, the file does not exist.

Case of determining whether the file exists

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
}

After the program is run, the console output is as follows:

How to determine whether a file exists in Go language

Use os.Stat obtains file information and determines whether the file exists based on the returned error message. If err is empty, it means the file exists. If the returned err is not empty and is IsNotExist, it means the file does not exist.

Because, when we run the program, the file "C:/haicoder.txt" does not exist, therefore, the program outputs "File not exist", now, we create the file "C:/haicoder.txt", Run the program again, and the console output is as follows:

How to determine whether a file exists in Go language

At this time, we see that the program outputs "File exist".

Summary of Go language to determine whether a file exists

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

Use os.Stat to obtain directory information. If the error returned is empty, it means that the file exists. If it is returned The error message is os.IsNotExist stating that the file does not exist. We can also encapsulate this function into a function:

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
}

[Related recommendations: Go video tutorial, Programming teaching]

The above is the detailed content of How to determine whether a file exists in Go language. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn