那么,为什么它们(下面的 No.1 和 No.2)不同?
type T1 struct {
local []string
}
func (t *T1) Assign(param ...string) {
t.local = nil
t.local = append(t.local, param...) // No.1 <<<
t.local = param[:] // No.2 <<<
}
它们肯定是不同的:No.2 相当“浅”。
一改的话,如果用2号的话,原来t.local[i]的字符串就会乱码。
浮云间
相关分类