Type assertions recover a concrete value from an interface value.

Type Assertions

type_assertion.go
package main

import "fmt"

func main() {
	var useNumber = 
	var value interface{}

	if useNumber {
		value = 42
	} else {
		value = "forty-two"
	}

	number, ok := value.(int)
	if ok {
		fmt.Println("kind= number")
		fmt.Println("value=", number)
	} else {
		fmt.Println("kind= text")
		fmt.Println("value=", value)
	}
}
package main

import "fmt"

func main() {
	var useNumber = 
	var value interface{}

	if useNumber {
		value = 42
	} else {
		value = "forty-two"
	}

	number, ok := value.(int)
	if ok {
		fmt.Println("kind= number")
		fmt.Println("value=", number)
	} else {
		fmt.Println("kind= text")
		fmt.Println("value=", value)
	}
}
type assertion The `value, ok := item.(Type)` form checks whether an interface value holds a specific concrete type.