Alias ​​do tipo Golang

Alias ​​do tipo Golang
Tipo Aliasing refere -se à técnica de fornecer um nome alternativo para um tipo existente. Tipo Aliasing foi introduzido na versão GO 1.9 e acima. Isso ajuda a facilitar o código Refactor para bases de código grandes.

Você pode aprender mais sobre o alias do tipo e o raciocínio por trás dele na página da proposta Go:

https: // vá.GoogleSource.com/proposta/+/master/design/16339-alias-decls.MD

Tipo de alias sintaxe

Criar um alias de tipo para um tipo existente é direto. Um exemplo de sintaxe é como mostrado:

tipo new_name = existing_name

A sintaxe acima não cria um novo nome para o existente_type. Em essência, o new_name é apenas mais uma ortografia para o existente_type.

Usar aliases permite que você apresente um novo nome para um tipo existente sem quebrar o código que faz referência ao nome antigo.

Para garantir a compatibilidade entre o tipo existente e o alias, o alias deve ter tipos de parâmetros intercambiáveis. O exemplo abaixo mostra o código com tipos intercambiáveis:

Pacote principal
importação (
"FMT"
"Reflita"
)
Tipo foo struct
// Defina um novo nome como bar
barra de tipo = foo
funcmyfunc (eu bar)
fmt.Println (reflita.Typeof (i))

funcmain ()
Vari Bar
myfunc (i)

Ambos os tipos devem converter de uma interface vazia.

Pacote principal
importação (
"FMT"
"Reflita"
)
Tipo foo struct
// Defina um novo nome como bar
barra de tipo = foo
funcmyfunc (iinterface )
eu, ok: = eu.(bar)
se !OK
fmt.Println ("!tipo de barra ")

fmt.Println (reflita.Typeof (i))

funcmain ()
Vari Bar
myfunc (i)

Fechamento

Tipo Aliasing refere -se ao método de adicionar um novo nome a um tipo existente para melhorar. Verifique os documentos Go para saber mais.