Go Type Switch
Jump to navigation
Jump to search
Internal
Overview
A type switch is a new control structure introduced by Go and a generalization of the type assertion. While a type assertion checks whether a specific concrete type implements a given interface, the type switch generalizes this check for multiple options, helping with the discovery of the dynamic type for an interface variable. The type switch uses the syntax of the type assertion with the keyword type
inside the parentheses.
var i SomeInterface = &SomeImplementation{data: "test"}
switch v := i.(type) {
case *SomeImplementation:
...
case *SomeImplementationB:
...
}