feat(Go-StudyExample):2021/02/09:新增merge源码阅读和单测代码

This commit is contained in:
Huangzj
2021-02-09 16:00:31 +08:00
parent 05f55b0eac
commit cf02f0bf10
51 changed files with 3712 additions and 1 deletions
+41
View File
@@ -0,0 +1,41 @@
/*
* @Author : huangzj
* @Time : 2021/2/3 9:50
* @Description
*/
package merge
import (
"fmt"
"github.com/imdario/mergo"
"log"
"testing"
)
type redisConfig2 struct {
Address string
Port int
DBs []int
}
var defaultConfig2 = redisConfig2{
Address: "127.0.0.1",
Port: 6381,
}
// 前提:需要配置 WithOverride 一起使用
// WithOverrideEmptySlice 空数组覆盖
// WithOverwriteWithEmptyValue 空字段、空数组覆盖
func TestNilOverride(t *testing.T) {
var config redisConfig2
config.DBs = []int{2, 3}
if err := mergo.Merge(&config, defaultConfig2, mergo.WithOverride, mergo.WithOverrideEmptySlice); err != nil {
log.Fatal(err)
}
fmt.Println("redis address: ", config.Address)
fmt.Println("redis port: ", config.Port)
fmt.Println("redis dbs: ", config.DBs)
}