os.Stat reports details about a file, such as its name, size, and whether it is a directory.

File Info

file_info.go
package main

import (
	"fmt"
	"os"
)

func main() {
	var label = 
	fileName := "go09_file_info.txt"
	content := label + ":ready"

	err := os.WriteFile(fileName, []byte(content), 0644)
	if err != nil {
		fmt.Println("created=", false)
		return
	}
	defer os.Remove(fileName)

	info, err := os.Stat(fileName)
	if err != nil {
		fmt.Println("found=", false)
		return
	}

	fmt.Println("name=", info.Name())
	fmt.Println("size=", info.Size())
	fmt.Println("isDir=", info.IsDir())
}
package main

import (
	"fmt"
	"os"
)

func main() {
	var label = 
	fileName := "go09_file_info.txt"
	content := label + ":ready"

	err := os.WriteFile(fileName, []byte(content), 0644)
	if err != nil {
		fmt.Println("created=", false)
		return
	}
	defer os.Remove(fileName)

	info, err := os.Stat(fileName)
	if err != nil {
		fmt.Println("found=", false)
		return
	}

	fmt.Println("name=", info.Name())
	fmt.Println("size=", info.Size())
	fmt.Println("isDir=", info.IsDir())
}
package main

import (
	"fmt"
	"os"
)

func main() {
	var label = 
	fileName := "go09_file_info.txt"
	content := label + ":ready"

	err := os.WriteFile(fileName, []byte(content), 0644)
	if err != nil {
		fmt.Println("created=", false)
		return
	}
	defer os.Remove(fileName)

	info, err := os.Stat(fileName)
	if err != nil {
		fmt.Println("found=", false)
		return
	}

	fmt.Println("name=", info.Name())
	fmt.Println("size=", info.Size())
	fmt.Println("isDir=", info.IsDir())
}
file info File info is metadata about a path, separate from the file contents.