Golang으로 설정파일 불러오기
Go언어로 Config를 불러오는 2가지 방법을 소개한다.
Yaml 파일 불러오기
많은 프로젝트에서 설정파일로 손꼽히는 yaml이다.
우선 yaml은 Go의 공식라이브러리엔 존재하지 않는다.
때문에 해당 라이브러리를 받아야만 사용이 가능하다.
addr: 127.0.0.1
port: 3306
user: root
pass: password
// YAML struct
type Config struct {
Addr string `yarm: "addr"`
Port int `yarm: "port"`
User string `yarm: "user"`
Pass string `yarm: "pass"`
}
func LoadConfigration(path string) Config {
var config Config
bytes, err := ioutil.ReadFile(path)
if err != nil {
fmt.Println(err.Error())
}
err = yaml.Unmarshal(bytes, &config)
if err != nil {
log.Fatalf("error: %v", err)
}
return config
}
Json 파일 불러오기
Json은 Go의 내장 라이브러리가 존재하므로 이를 통해서 불러올 수 있다.
또한 꿀팁을 주자면 해당 사이트에서 Json문자열을 통해 손쉽게 구조체를 생성할 수 있다.
{
"addr": "127.0.0.1",
"port": 3306,
"user": "root",
"pass": "password"
}
// JSON struct
type Config struct {
Addr string `json: "addr"`
Port int `json: "port"`
User string `json: "user"`
Pass string `json: "pass"`
}
func LoadConfigration(path string) Config {
var config Config
file, err := os.Open("config.json")
defer file.Close()
if err != nil {
fmt.Println(err.Error())
}
jsonParser := json.NewDecoder(file)
jsonParser.Decode(&config)
return config
}
'프로그래밍 > Golang' 카테고리의 다른 글
Go언어를 이용한 한글의 결합 (0) | 2020.09.08 |
---|---|
Go언어를 사용한 자모음 분리 (0) | 2020.07.07 |
Golang 정규식을 통한 특수문자 제거 (0) | 2019.12.13 |