Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ee4c6fd

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

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

‎README.md‎

Lines changed: 5 additions & 0 deletions
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‎

Lines changed: 4 additions & 0 deletions
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)

AltStyle によって変換されたページ (->オリジナル) /