Tracce
/
Go
Go
/
Programma
/
Stringhe
St

Stringhe in Go

1 esercizio

Informazioni su Stringhe

Una string in Go è una sequenza immutabile di byte, che non devono necessariamente rappresentare dei caratteri.

Un letterale stringa è definito tra virgolette doppie:

const name = "Jane"

Le stringhe si possono concatenare tramite l'operatore +:

"Jane" + " " + "Austen"
// => "Jane Austen"

Alcuni caratteri speciali devono essere preceduti da una barra rovesciata, come \t per una tabulazione e \n per una nuova riga all'interno delle stringhe.

"How is the weather today?\nIt's sunny"  
// =>
// How is the weather today?
// It's sunny

Il pacchetto strings contiene molte funzioni utili per lavorare con le stringhe. Per maggiori informazioni sulle funzioni per le stringhe, dai un'occhiata alla documentazione del pacchetto strings. Ecco alcuni esempi:

import "strings"

// strings.ToLower returns the string given as argument with all its characters lowercased
strings.ToLower("MaKEmeLoweRCase")
// => "makemelowercase"

// strings.Repeat returns a string with a substring given as argument repeated many times
strings.Repeat("Go", 3)
// => "GoGoGo"

Caratteri speciali

Come accennato in precedenza, alcuni caratteri speciali devono essere preceduti da una barra rovesciata. Qui sotto trovi un elenco più dettagliato di quali sono questi caratteri speciali:

Valore Descrizione
\a Avviso o campanella
\b Backspace
\\ Barra rovesciata
\t Tabulazione orizzontale
\n Avanzamento di riga o nuova riga
\f Avanzamento modulo
\r Ritorno carrello
\v Tabulazione verticale
\' Virgoletta singola
\" Virgoletta doppia
fmt.Println("Joe\nWilliam\nJack\nAverell") 

// Output:
// Joe
// William
// Jack
// Averell

Letterali di stringa grezza

I letterali di stringa grezza usano i backtick (`) come delimitatore invece delle virgolette doppie, e tutti i caratteri al loro interno vengono interpretati letteralmente: non c'è bisogno di fare l'escape dei caratteri o delle nuove righe.

Ecco un esempio di stringa su più righe:

const daltons = `Joe
William
Jack
Averell`

Questa stringa ha più righe. Più precisamente, contiene 3 \n. Tuttavia, dato che si tratta di un letterale di stringa grezza, non dobbiamo inserire esplicitamente il \n nella stringa. Le nuove righe verranno interpretate letteralmente.

Ecco altri esempi che mettono a confronto i letterali di stringa grezza con i letterali di stringa normali:

`abc`
// same as "abc"

"\"" // regular string literal with 1 character: a double quote
// same as `"` a raw string literal with 1 character: a double quote

`\n
` // raw string literal with 3 character: a backslash, an 'n', and a newline
// same as "\\n\n"  a regular string literal with 3 characters: a backslash, an 'n', and a newline

"\t\n" // regular string literal with 2 characters: a tab and a newline
`\t\n`// raw string literal with 4 characters: two backslashes, a 't', and an 'n'
Modifica tramite GitHub Il collegamento si apre in una nuova finestra o scheda

Impara Stringhe