{{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 |}}]]