Home

switchrakenteet

Switchrakenteet ovat ohjelmointikielissä käytettyjä valintarakenteita, joiden avulla voidaan suorittaa erillisiä lohkoja sen perusteella, millä arvolle lauseke on saatu. Tyypillisesti rakenne koostuu switch-lauseesta, jossa määritellään tarkasteltava lauseke, sekä useista case-lauseista ja mahdollisesta default-osiosta. Case-lauseet määrittävät mahdolliset arvot, joille annetaan oma lohkkonsa.

Tyypillisesti switch-rakenne vertailee lausekkeen arvoa case-labelien arvoihin ja suorittaa ensimmäisen vastaavan lohkon. Monissa kielissä on oletuksena

Käytännön toteutus ja tuetut tyypit vaihtelevat kielittäin. C- ja C++-kielissä switch toimii usein kokonaislukutyyppien tai enumien

Hyviä käytäntöjä ovat selkeä katkaisu, oletuskolkkaan (default) huolehtiminen ja harkittu käytön tarve, etenkin kun kaarta on

fall-through-ominaisuus,
jolloin
ilman
erillistä
katkaisua
(break)
ohjelma
etenee
seuraaviin
caseihin.
Tämä
voi
johtaa
virheisiin,
jos
katkaisua
ei
suunnitella,
mutta
joissain
kielissä
fall-through
on
kieltäjän
määrittelemää
tai
vaihtoehtoisesti
korvattu
eksplisiittisesti
rakennetulla
katkaisulla
tai
palautuksella.
kanssa,
ja
fall-through
on
yleinen.
Java
tukee
switchia
sekä
numero-
että
merkkijärjestelmissä
ja
on
laajentunut
tukemaan
myös
merkkijonoja.
Lisäksi
uusissa
kieliversioissa
on
switch-tyyppisiä
lausekkeita
tai
pattern-matching-rakenteita,
jotka
voivat
palauttaa
arvon.
Pythonissa
switch-rakennetta
ei
ole
perinteisesti
ollut,
mutta
Python
3.10
alkaen
on
esitelty
match-case
-rakennetta.
paljon.
Switch-rakenteet
tarjoavat
nopean
ja
selkeän
tavan
liikutella
ohjelman
kontrollivirtaa,
kun
käsitellään
epätyypillisiä
tai
erillisiä
arvoja.