Capítulo 7. Tipos, métodos e interfaces

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Como has visto en capítulos anteriores, Go es un lenguaje de tipado estático con tipos incorporados y tipos definidos por el usuario. Como la mayoría de los lenguajes modernos, Go te permite adjuntar métodos a los tipos. También tiene abstracción de tipos, lo que te permite escribir código que invoque métodos sin especificar explícitamente la implementación.

Sin embargo, el enfoque de Go respecto a los métodos, interfaces y tipos es muy diferente del de la mayoría de los lenguajes de uso común hoy en día. Go está diseñado para fomentar las buenas prácticas defendidas por los ingenieros de software, evitando la herencia y fomentando al mismo tiempo la composición. En este capítulo, echarás un vistazo a los tipos, métodos e interfaces, y verás cómo utilizarlos para construir programas comprobables y mantenibles.

Tipos en Go

En "Estructuras" viste cómo definir un tipo estructura:

type Person struct {
    FirstName string
    LastName  string
    Age       int
}

Esto debe leerse como la declaración de un tipo definido por el usuario con el nombre Person para que tenga el tipo subyacente del literal struct que le sigue. Además de los literales struct, puedes utilizar cualquier tipo primitivo o literal de tipo compuesto para definir un tipo concreto. He aquí algunos ejemplos:

type Score int
type Converter func(string)Score
type TeamScores map ...

Get Aprender Go, 2ª Edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.