Někdy je potřeba si větvit program podle toho, jakého je proměnná typu. Typický příklad je interface{}. Jelikož se jedná o prázdný interface, tak jím může být cokoliv. Co když ale chcete jinak pracovat s int a jinak se string?
Následující příklad vám to ukáže.
proměnná := inteface{}(1) // přetypujeme int 1 na interface{}
switch proměnná.(type) { // podle typu proměnné
case int:
fmt.Println("Je to int!")
default:
printString("Je to záhada")
}
Jak vidno, prosté.