Vanish is a minimal Go library to use temporary files and directories.
go get github.com/bfontaine/vanish/v2
Vanish works with functions:
package main
import "github.com/bfontaine/vanish/v2"
vanish.File(func(name string) {
// 'name' is a temporary file, use it here as you want, it’ll be deleted
// at the end of the function
})
vanish.Dir(func(name string) {
// here, 'name' is a directory
})
vanish.Env(func() {
// we can modify the environment here, it’ll be restored at the end of the
// function
})