mergo可以在相同的结构体或map之间赋值,可以将结构体的字段赋值给map,也可以将map的值赋值给结构体的字段
语法
mergo.Merge(目标对象,源对象) 将源对象中的字段赋值到目标对象的对应字段上
例
import (
"github.com/imdario/mergo"
"log"
"fmt"
)
type redisConfig struct {
Address string
Port int
DB int
}
var defaultConfig = redisConfig {
Address: "127.0.0.1",
Port: 6381,
DB: 1,
}
func main() {
var config redisConfig
if err := mergo.Merge(&config, defaultConfig); err!=nil {
log.Fatal(err)
}
fmt.Print(config)
}
输出
{127.0.0.1 6381 1}