Mysql:Host: 192.168.214.134
Port:3306UserName: ww
Password: ww
Database: go_db
Charset: utf8mb4
ParseTime:trueLoc: Local
ListValue:- haha
- test
- vv
JWTSecret: nidaye
Define structure
type Mysql struct{
Host string`yaml:"Host"`
Port int`yaml:"Port"`
UserName string`yaml:"UserName"`
Password string`yaml:"Password"`
Database string`yaml:"Database"`
Charset string`yaml:"Charset"`
ParseTime bool`yaml:"ParseTime"`
Loc string`yaml:"Loc"`
ListValue []string`yaml:"ListValue"`}type YamlStruct struct{
Mysql Mysql `yaml:"Mysql"`
JWTSecret string`yaml:"JWTSecret"`}
read
package main
import("fmt""os""gopkg.in/yaml.v3")type Mysql struct{
Host string`yaml:"Host"`
Port int`yaml:"Port"`
UserName string`yaml:"UserName"`
Password string`yaml:"Password"`
Database string`yaml:"Database"`
Charset string`yaml:"Charset"`
ParseTime bool`yaml:"ParseTime"`
Loc string`yaml:"Loc"`
ListValue []string`yaml:"ListValue"`}type YamlStruct struct{
Mysql Mysql `yaml:"Mysql"`
JWTSecret string`yaml:"JWTSecret"`}funcReadConf(filename string)(*YamlStruct,error){
buf, err := os.ReadFile(filename)
c := YamlStruct{
}if err !=nil{
returnnil, err
}else{
err2 := yaml.Unmarshal(buf,&c)if err2 !=nil{
returnnil, err2
}else{
return&c,nil}}}funcmain(){
c,_:=ReadConf("./config.yaml")
fmt.Printf("c: %v\n", c.Mysql.ListValue)}