{{htmlmetatags>metatag-robots=()
metatag-title=(GOTO | ugBASIC User Manual)
metatag-keywords=(ugBASIC,Commodore 64,Commodore PLUS/4,ZX Spectrum)
metatag-description=(Pagina del manuale per GOTO)
metatag-media-og:image=(:ugbasic:logo-ugbasic-fb.png)
metatag-og:title=(GOTO | ugBASIC User Manual)
metatag-og:description=(Pagina del manuale per GOTO)
}}
====== ugBASIC Manuale Utente ======
===== GOTO ✓ =====
===== SINTASSI =====
GOTO label
GOTO number
==== SCOPO ====
Il comando ''GOTO'' è un'istruzione che consente di saltare incondizionatamente
a un'altra parte del programma. In pratica, invece di eseguire le istruzioni
in sequenza, il programma "salta" direttamente alla riga indicata dal comando
''GOTO''.
Nonostante la sua semplicità, l'uso indiscriminato del comando ''GOTO'' può
portare a diversi problemi. Può rendere il codice molto difficile da seguire
e comprendere, creando il cosiddetto "codice spaghetti". Se un programma contiene
molti salti incondizionati, può diventare molto difficile trovare la fonte di
un errore. L'uso frequente di ''GOTO'' tende a creare un flusso di controllo
mal strutturato che è difficile da mantenere.
L'ugBASIC offre strutture di controllo più sofisticate e leggibili, come:
''IF...THEN...ELSE'', ''FOR...NEXT'', ''DO...LOOP'' e così via. Queste
strutture rendono il codice più chiaro e facilitano la gestione del
flusso di controllo.
In alcuni casi specifici, tuttavia, l'uso di ''GOTO'' può essere giustificato,
ad esempio in situazioni molto specifiche, un ''GOTO'' può essere utilizzato
per uscire da un ciclo annidato in modo più efficiente.
In alcuni casi, un ''GOTO'' può essere utilizzato per gestire gli errori
nel modo più diretto. In generale, è consigliabile evitare l'uso di ''GOTO''
e preferire strutture di controllo più moderne. Un codice ben strutturato e
leggibile è più facile da mantenere e da modificare nel tempo.
==== ESEMPIO ====
GOTO nuovaEtichetta
GOTO 42
Si vedano anche i seguenti file di esempio:
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/control_uncond_jumps_01.bas|control_uncond_jumps_01.bas]]''
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/control_uncond_jumps_02.bas|control_uncond_jumps_02.bas]]''
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/control_returning_01.bas|control_returning_01.bas]]''
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/control_returning_02.bas|control_returning_02.bas]]''
==== ABBREVIAZIONE ====
Go
==== DISPONIBILE SU ====
==== PROBLEMI? ====
Se si riscontra un problema nell'utilizzare questo comando, se si ritiene che vi sia un bug oppure che la spiegazione sia poco chiara, è possibile [[https://github.com/spotlessmind1975/ugbasic/issues/new?title=SEGNALAZIONE SU GOTO|aprire una segnalazione]] per questa parola chiave su GitHub. Grazie!===== POWERED BY =====
[[:it:ugbasic:user:index|{{ :ugbasic:user:logo-ugbasic.png?nolink&600 |}}]]