Skip to content

Commit ee4c6fd

Browse files
committed
添加说明
1 parent 2a4217d commit ee4c6fd

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

README.md

+5
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,10 @@ func Foo(options ...*FooOptions) {
133133
// 如果没有传递参数的话,则设置一个默认的参数
134134
options = variable_parameter.SetDefaultParam(options, DefaultFooOptions)
135135

136+
// 为什么不适用这种方式来操作呢?也许这样更简单?
137+
// 在递归互相调用的时候切片中可能会被重复放入默认值,尤其是在有很多的重载之类的或者高内聚的代码中会互相调用问题尤其明显
138+
//options = append(options, DefaultFooOptions)
139+
136140
// 后面的代码就可以直接使用options[0]来操作而不必担心越界
137141
fmt.Println(options[0].Foo)
138142
}
@@ -146,6 +150,7 @@ func main() {
146150
Foo() // Output: default foo
147151

148152
}
153+
149154
```
150155

151156

examples/set_default/main.go

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ func Foo(options ...*FooOptions) {
1919
// 如果没有传递参数的话,则设置一个默认的参数
2020
options = variable_parameter.SetDefaultParam(options, DefaultFooOptions)
2121

22+
// 为什么不适用这种方式来操作呢?也许这样更简单?
23+
// 在递归互相调用的时候切片中可能会被重复放入默认值,尤其是在有很多的重载之类的或者高内聚的代码中会互相调用问题尤其明显
24+
//options = append(options, DefaultFooOptions)
25+
2226
// 后面的代码就可以直接使用options[0]来操作而不必担心越界
2327
fmt.Println(options[0].Foo)
2428
}

0 commit comments

Comments
 (0)