# Abstraction & Advanced

- [Interfaces](/viceintelpro/golang/abstraction-and-advanced/interfaces.md)
- [Interfaces in Go](/viceintelpro/golang/abstraction-and-advanced/interfaces/interfaces-in-go.md)
- [Interface Implementation](/viceintelpro/golang/abstraction-and-advanced/interfaces/interface-implementation.md)
- [Interfaces Are Implemented Implicitly](/viceintelpro/golang/abstraction-and-advanced/interfaces/interfaces-are-implemented-implicitly.md)
- [Multiple Interfaces](/viceintelpro/golang/abstraction-and-advanced/interfaces/multiple-interfaces.md)
- [Clean Interfaces](/viceintelpro/golang/abstraction-and-advanced/interfaces/clean-interfaces.md)
- [Type Assertions in Go](/viceintelpro/golang/abstraction-and-advanced/interfaces/type-assertions-in-go.md)
- [Type Switches](/viceintelpro/golang/abstraction-and-advanced/interfaces/type-switches.md)
- [Name Your Interface Parameters](/viceintelpro/golang/abstraction-and-advanced/interfaces/name-your-interface-parameters.md)
- [Interfaces Quiz](/viceintelpro/golang/abstraction-and-advanced/interfaces/interfaces-quiz.md)
- [Generics](/viceintelpro/golang/abstraction-and-advanced/generics.md)
- [1. Generics in Go](/viceintelpro/golang/abstraction-and-advanced/generics/1.-generics-in-go.md)
- [2. Why Generics](/viceintelpro/golang/abstraction-and-advanced/generics/2.-why-generics.md)
- [3. Constraints](/viceintelpro/golang/abstraction-and-advanced/generics/3.-constraints.md)
- [4. Interface Type Lists](/viceintelpro/golang/abstraction-and-advanced/generics/4.-interface-type-lists.md)
- [5. Naming Generic Types](/viceintelpro/golang/abstraction-and-advanced/generics/5.-naming-generic-types.md)
- [6. Parametric Constraints](/viceintelpro/golang/abstraction-and-advanced/generics/6.-parametric-constraints.md)
- [Enums](/viceintelpro/golang/abstraction-and-advanced/enums.md)
- [1. Lack of Enums](/viceintelpro/golang/abstraction-and-advanced/enums/1.-lack-of-enums.md)
- [2. Type Definitions](/viceintelpro/golang/abstraction-and-advanced/enums/2.-type-definitions.md)
- [3. Iota](/viceintelpro/golang/abstraction-and-advanced/enums/3.-iota.md)
