为什么通过方法对结构所做的更改不持久?

为什么通过方法对结构所做的更改不持久?,第1张

为什么通过方法对结构所做的更改不持久?

AddString方法正在使用值(副本接收器。修改是针对副本,而不是原始文档。必须使用指针接收器来改变原始实体:

package mainimport (        "fmt")type Test struct {        someStrings []string}func (t *Test) AddString(s string) {        t.someStrings = append(t.someStrings, s)        t.Count() // will print "1"}func (t Test) Count() {        fmt.Println(len(t.someStrings))}func main() {        var test Test        test.AddString("testing")        test.Count() // will print "0"}

*** 场


输出量

11


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5462985.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存