gitee.com/woood2/luca@v1.0.4/internal/util/file.go (about)

     1  package util
     2  
     3  import (
     4  	"github.com/pkg/errors"
     5  	"gopkg.in/yaml.v2"
     6  	"io/ioutil"
     7  	"os"
     8  )
     9  
    10  func PathExists(path string) bool {
    11  	_, err := os.Stat(path)
    12  	if err == nil {
    13  		return true
    14  	}
    15  	if os.IsNotExist(err) {
    16  		return false
    17  	}
    18  	return false
    19  }
    20  
    21  func LoadYAML(path string, v interface{}) error {
    22  	if !PathExists(path) {
    23  		return errors.Errorf("%s not exists", path)
    24  	}
    25  
    26  	content, err := ioutil.ReadFile(path)
    27  	if err != nil {
    28  		return errors.Errorf("readFile(%s) error: %+v", path, err)
    29  	}
    30  
    31  	if err := yaml.Unmarshal(content, v); err != nil {
    32  		return errors.Errorf("yaml.Unmarshal(%s, ...) error: %+v", content, err)
    33  	}
    34  	return nil
    35  }
    36