Switch-setninger finnes i to hovedvarianter: En strukturert switch, som i Pascal, som velger nøyaktig en branch, og en ustrukturert switch, som i C, som fungerer som en form for goto. Hovedgrunnene for å bruke en switch inkluderer forbedret klarhet, ved å redusere kode som ellers er repeterende, og (hvis heuristikken tillater det) potensialet for en raskere utførelse gjennom enklere kompilatoroptimalisering i mange tilfeller.