Alias ​​vom Typ Golang

Alias ​​vom Typ Golang
Typ Aliasing bezieht sich auf die Technik, einen alternativen Namen für einen vorhandenen Typ zu liefern. Typ aliasing wurde in Go Version 1 eingeführt.9 und höher. Dies hilft, den Code -Refactor für große Codebasen zu erleichtern.

Sie können mehr über Typ -Aliasing und die Argumentation dahinter auf der Seite GO -Vorschlag erfahren:

https: // gehen.googleSource.COM/Vorschlag/+/Master/Design/16339-alias-Decls.md

Typ alias syntax

Das Erstellen eines Typs Alias ​​für einen vorhandenen Typ ist unkompliziert. Eine Beispielsyntax ist wie gezeigt:

Geben Sie new_name = vorhanden_name ein

Die obige Syntax erstellt keinen neuen Namen für das vorhandene_Type. Im Wesentlichen ist der New_Name nur eine weitere Rechtschreibung für den vorhandenen_Type.

Mit Aliase können Sie einen neuen Namen für einen vorhandenen Typ einführen, ohne den Code zu brechen, der auf den alten Namen verweist.

Um die Kompatibilität zwischen dem vorhandenen Typ und dem Alias ​​sicherzustellen, sollte der Alias ​​austauschbare Parametertypen haben. Das folgende Beispiel zeigt Code mit austauschbaren Typen:

Paket Main
importieren (
"fmt"
"reflektieren"
)
Geben Sie Foo struct ein
// Neuen Namen als Bar einstellen
tippen Sie bar = foo
funcmyfunc (i bar)
fmt.Println (reflektieren.Typof (i))

funcmain ()
Vari -Bar
myfunc (ich)

Beide Typen sollten von einer leeren Schnittstelle konvertieren.

Paket Main
importieren (
"fmt"
"reflektieren"
)
Geben Sie Foo struct ein
// Neuen Namen als Bar einstellen
tippen Sie bar = foo
funcMyfunc (iInterface )
i, ok: = ich.(Bar)
Wenn !OK
fmt.Println ("!Bar Typ ")

fmt.Println (reflektieren.Typof (i))

funcmain ()
Vari -Bar
myfunc (ich)

Schließen

Typ Aliasing bezieht sich auf die Methode zum Hinzufügen eines neuen Namens zu einem vorhandenen Typ, um die Lesbarkeit und den Code -Refactor zu verbessern. Überprüfen Sie die Go -Dokumente, um mehr zu erfahren.