Wie mache ich ein Literal * int64 in Go?

Ich habe einen Strukturtyp mit einem*int64 Feld

type SomeType struct {
    SomeField *int64
}

Irgendwann in meinem Code möchte ich ein Literal davon deklarieren (wenn ich weiß, dass der Wert 0 sein sollte oder auf eine 0 zeigt, weißt du, was ich meine)

instance := SomeType{
    SomeField: &0,
}

... außer das geht nicht

./main.go:xx: cannot use &0 (type *int) as type *int64 in field value

So versuche ich das

instance := SomeType{
    SomeField: &int64(0),
}

... aber das geht auch nicht

./main.go:xx: cannot take the address of int64(0)

Wie mache ich das? Die einzige Lösung, die ich finden kann, ist die Verwendung einer Platzhaltervariablen

var placeholder int64
placeholder = 0

instance := SomeType{
    SomeField: &placeholder,
}

Beachten Sie das&0 Syntax funktioniertfei wenn es ein * int anstelle eines @ i*int64.Bearbeiten: nein tut es nicht. Tut mir leid

Bearbeiten

Anscheinend war meine Frage zu vieldeutig. Ich suche einen Weg zuliterally state a *int64. Dies kann in einem Konstruktor verwendet werden, um Literal-Strukturwerte anzugeben oder sogar als Argumente für andere Funktionen. Aber Hilfsfunktionen oder die Verwendung eines anderen Typs sind keine Lösungen, nach denen ich suche.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage