Concrete type
A concrete type is a fully specified, directly implementable or instantiable type with a particular representation and behavior.
Julia as a Second Language
A concrete type is a type that can be directly instantiated or used as the representation of values rather than serving only as an abstract classification.
- How it is used
- Models instantiable game units beneath an abstract category so related units can participate in shared battle behavior.
- How deep it goes
- Defines instantiation, fields, hierarchy limits, and a dispatch implication; stops short of implementing primitive types.
- Examples
- Contrasts an Archer constructor with a failing Warrior() call and uses archers, pikemen, and knights in a battle simulator.
- What you can do after
- Build it from scratch: define instantiable warrior types under an abstract type and use them with shared battle methods.
Read how Julia as a Second Language explains concrete type →
Go by Example
A concrete type is a non-interface Go type that specifies values with an underlying representation and may have methods.
- How it is used
- Uses concrete types as the initial implementation choice before shared behavior warrants an interface.
- How deep it goes
- Explains concrete types through sql.DB’s driver architecture and interface-discovery rationale, without detailing type representation.
- Examples
- Uses sql.DB with SQLite and PostgreSQL drivers, plus link.Shortener and sqlite.Shortener implementations.
- What you can do after
- Apply it by starting with concrete implementations and defining focused interfaces only after observing shared consumer needs.
Learn Rust in a Month of Lunches
A concrete type is a specific Rust type rather than an abstract type parameter or trait description.
- How it is used
- Distinguishes fixed Rust types from generic parameters and trait descriptions when reading function signatures.
- How deep it goes
- Defines concrete types, contrasts generic syntax, and works through closure type errors without covering boxing internals.
- Examples
- Uses fixed and generic return_item functions, undeclared MyType, and two identical-looking closures rejected as different types.
- What you can do after
- Evaluate whether a Rust signature names one fixed type, introduces a generic parameter, or accepts behavior through a trait bound.
Read how Learn Rust in a Month of Lunches explains concrete type →
Related concepts
- structincludes · A struct is a composite data type or structure that groups related fields or values into a single unit.
- primitive data typeincludes · A primitive data type is a fundamental, language-provided type for representing a basic value, rather than a composite of multiple values.
- sql.DBincludes · sql.DB is a Go database/sql handle that provides database operations while managing a pool of database connections.
- errors.Asused by · errors.As is a Go standard-library function that searches an error chain for a value assignable to a specified type and stores the result.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.


