Online Go Compiler

Write, compile, run, and debug Go code online in a full-featured browser IDE. Work with multiple files, save your workspace, and collaborate in real time - no setup required.

Librerie preinstallate
🚀 206,970 esecuzioni totali (799 questo mese)
Incorpora
Output

Esercitati in Go con le sfide di codice

Risolvi problemi pratici direttamente in questo editor: esegui i test di esempio, invia la soluzione e ricevi una revisione AI del codice.

Tutte le sfide Go
Facile

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Imparerai AritmeticaValori di ritorno
BeginnerLearning-pathVariables
Facile

Distance Between Points

Compute the straight-line distance between two points.

Imparerai Teorema di PitagoraRadici quadrate
BeginnerFunctionsLearning-pathmath
Facile

Days in a Month

Return how many days a month has, including leap years.

Imparerai Regole del calendarioFunzioni di supporto
BeginnerConditionsFunctionsLearning-path
Facile

Average of Three

Average three whole numbers.

Imparerai AritmeticaDivisione
BeginnerLearning-pathVariables
Facile

Prodotto scalare di due vettori

Moltiplica due vettori elemento per elemento e somma i risultati, l'operazione alla base di ogni neurone.

Imparerai VettoriProdotto scalare
Reti neuraliaiapprendimento automatico
Facile

Largest of Three

Pick the largest of three numbers without a built-in max.

Imparerai ConfrontiCombinare condizioni
BeginnerConditionsLearning-path
Facile

Verifica Numero Primo

Stabilisci se un numero è primo.

Imparerai DivisibilitàOttimizzare i cicli
BeginnerLoopsNumbersStudent-beginner
Facile

Triangolo di Numeri

Costruisci un triangolo di numeri crescenti.

Imparerai Righe crescentiContatore tra le righe
BeginnerLearning-pathNested-loopsPatterns
Facile

Numero di Armstrong

Verifica se un numero è uguale alla somma delle sue cifre elevate alla quantità di cifre.

Imparerai Estrarre le cifrePotenze
BeginnerNumbersStudent-beginner
Facile

Min and Max Together

Find the smallest and largest value in one pass.

Imparerai Un solo passaggioPiù valori di ritorno
ArraysBeginnerFunctionsLearning-path
Facile

Count Pairs With a Sum

Count pairs of positions whose values add up to a target.

Imparerai Coppie di indiciEvitare i doppi conteggi
ArraysBeginnerLearning-pathNested-loops
Facile

Hollow Square

Draw the outline of a square with * characters.

Imparerai Riconoscere i bordiCostruire stringhe
BeginnerLearning-pathNested-loopsPatterns

🐹 Informazioni su questo esecutore Go online

Il CodeUtility Go Executor ti permette di scrivere ed eseguire codice Go direttamente nel browser - senza installazioni, configurazioni o ambiente locale. È basato su una sandbox sicura che supporta le reali versioni del compilatore Go 1.19, 1.20 e 1.21.

Questo strumento compila ed esegue veri programmi Go nel cloud, fornendo un ambiente Go autentico. Puoi testare brevi snippet, sperimentare con i pacchetti ed esplorare le potenti funzionalità di concorrenza di Go usando goroutine e canali.

È perfetto per imparare ed esercitarsi con i concetti base di Go come variabili, funzioni, struct, slice, map, interfacce e gestione degli errori - tutto senza installare alcun tool in locale.

Che tu stia esplorando Go per la prima volta, testando logica backend o imparando come funziona la concorrenza, il CodeUtility Go Executor offre un modo pulito, veloce e basato sul browser per eseguire codice Go all'istante.

Più di un semplice esecutore di codice

Usa nello stesso esecutore un editor multifile, un terminale di esecuzione isolato, librerie specifiche per il runtime, spazi di lavoro persistenti, condivisione e collaborazione in tempo reale.

Come si usa questo esecutore?

Scegli un runtime, apri o crea un file, scrivi il codice e seleziona Esegui. L’output appare nel terminale; gli utenti che hanno effettuato l’accesso possono conservare i file in uno spazio di lavoro, installare librerie e collaborare tramite le condivisioni.

  1. Seleziona una versione e modifica il file corrente oppure apri un altro file dello spazio di lavoro.
  2. Esegui il codice, inserisci i dati nel terminale quando richiesto e consulta la cronologia delle esecuzioni salvate.
  3. Usa librerie, strumenti dello spazio di lavoro, condivisione e chat quando l’attività richiede più di un frammento di codice.

💡 Basi di Go ed esempi che puoi provare sopra

1. Dichiarare variabili e costanti

Usa var o := per dichiarare variabili. Usa const per le costanti.

package main

var x int = 10
const Pi = 3.14

func main() {
    name := "Alice"
    isActive := true
    println(x, Pi, name, isActive)
}

2. Condizionali (if / switch)

Go supporta le istruzioni if-else e switch con una sintassi pulita.

x := 2
if x == 1 {
    println("Uno")
} else if x == 2 {
    println("Due")
} else {
    println("Altro")
}

switch x {
case 1:
    println("Uno")
case 2:
    println("Due")
default:
    println("Altro")
}

3. Cicli

Go usa solo il ciclo for, ma può comportarsi come un ciclo while.

for i := 0; i < 3; i++ {
    println(i)
}

n := 3
for n > 0 {
    println(n)
    n--
}

4. Array

Gli array hanno dimensione fissa. Usa le slice per liste dinamiche.

var nums = [3]int{10, 20, 30}
println(nums[1])

5. Manipolazione delle slice

Usa le slice e le funzioni integrate append, len, copy e la sintassi di slicing.

fruits := []string{"mela", "banana"}
fruits = append(fruits, "ciliegia")
fruits = fruits[1:]  // slice
println(len(fruits))

for _, fruit := range fruits {
    println(fruit)
}

6. Input/Output da console

Usa fmt.Print, fmt.Scan e fmt.Println.

import "fmt"

var name string
fmt.Print("Inserisci il tuo nome: ")
fmt.Scan(&name)
fmt.Println("Ciao", name)

7. Funzioni

Le funzioni si dichiarano con func e possono restituire più valori.

func greet(name string) string {
    return "Ciao, " + name
}

message := greet("Alice")
println(message)

8. Mappe

Le mappe sono archivi chiave-valore. Dichiarale con make().

ages := map[string]int{"Alice": 30}
ages["Bob"] = 25
println(ages["Alice"])

9. Gestione degli errori

Go usa valori di ritorno multipli per gli errori invece delle eccezioni.

import "errors"

func fail() error {
    return errors.New("qualcosa è andato storto")
}

err := fail()
if err != nil {
    println(err.Error())
}

10. I/O su file

Usa i pacchetti os e io/ioutil per leggere/scrivere file.

import (
  "fmt"
  "os"
  "io/ioutil"
)

ioutil.WriteFile("file.txt", []byte("Ciao file"), 0644)

data, _ := ioutil.ReadFile("file.txt")
fmt.Println(string(data))

11. Manipolazione di stringhe

Usa il pacchetto strings per operazioni sulle stringhe.

import "strings"

text := "  Ciao mondo  "
println(strings.TrimSpace(text))
println(strings.ToUpper(text))
println(strings.ReplaceAll(text, "Ciao", "Ehi"))

words := strings.Split(text, " ")
fmt.Println(words)

12. Struct e oggetti

Usa le struct per definire tipi personalizzati con metodi.

type Person struct {
  Name string
}

func (p Person) Greet() string {
  return "Ciao, sono " + p.Name
}

p := Person{Name: "Alice"}
println(p.Greet())

13. Riferimenti (puntatori)

Go supporta i puntatori usando * e &.

x := 10
ptr := &x
*ptr = 20
println(x) // 20