Warum werden Änderungen, die über eine Methode an einer Struktur vorgenommen wurden, nicht beibehalten?

Ich versuche zu verstehen, warum der folgende Testcode nicht wie erwartet funktioniert:

package main

import (
    "fmt"
    "strings"
)

type Test struct {
    someStrings []string
}

func (this Test) AddString(s string) {
    this.someStrings = append(this.someStrings, s)
    this.Count() // will print "1"
}

func (this Test) Count() {
    fmt.Println(len(this.someStrings))
}

func main() {
    var test Test
    test.AddString("testing")
    test.Count() // will print "0"
}

Dies würde drucken:

"1"
"0"

Bedeutet, dasssomeStrings ist anscheinend modifiziert ... und dann ist es nicht.

Weiß jemand woran das liegen könnte?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage