Funzioni Stringa
Esiste un numero notevole di funzioni di trattamento stringhe già inserite nellalibreria standard, nel package strings
.
(440string-functions.go):
package main
import s "strings"
import "fmt"
// Alias della funzione per accorciare il codice
var p = fmt.Println
func main() {
// Esempi di funzioni stringa
p("Count: ", s.Count("test", "t"))
p("HasPrefix: ", s.HasPrefix("test", "te"))
p("HasSuffix: ", s.HasSuffix("test", "st"))
p("Index: ", s.Index("test", "e"))
p("Join: ", s.Join([]string{"a", "b"}, "-"))
p("Repeat: ", s.Repeat("a", 5))
p("Replace: ", s.Replace("foo", "o", "0", -1))
p("Replace: ", s.Replace("foo", "o", "0", 1))
p("Split: ", s.Split("a-b-c-d-e", "-"))
p("ToLower: ", s.ToLower("TEST"))
p("ToUpper: ", s.ToUpper("test"))
p()
// Altre funzioni sulle stringhe che non sono
// parte del modulo strings
p("Len: ", len("hello"))
p("Char:", "hello"[1])
}
Notare che l'istruzione var p = fmt.Println
è effettivamente una macro, cioè una sostituzione lessicale.
Anche la definizione di s
come alias di string
è una macro lessicale.