From 3bb03bad871f6f4e35b9dab76b9bb4a141f2cc5f Mon Sep 17 00:00:00 2001 From: oscar Date: Sat, 17 Sep 2022 21:00:56 +1200 Subject: [PATCH] go(utils): add helper function to get config file handler --- go/utils/config.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 go/utils/config.go diff --git a/go/utils/config.go b/go/utils/config.go new file mode 100644 index 0000000..54db0c9 --- /dev/null +++ b/go/utils/config.go @@ -0,0 +1,24 @@ +package utils + +import ( + "errors" + "fmt" + "os" +) + +func GetConfigFile(name string) (*os.File, error) { + _, err := os.Stat(name) + if err != nil { + if errors.Is(err, os.ErrNotExist) { + //create file + file, err := os.Create(name) + if err != nil { + return nil, fmt.Errorf("fail to create config file: %w", err) + } + return file, err + } else { + return nil, err + } + } + return os.OpenFile(name, os.O_RDWR, 0644) +}