Ce face strconv.IsPrint
strconv.IsPrint(r) spune dacă Quote lasă caracterul neschimbat: literele, cifrele, semnele, simbolurile și spațiul obișnuit (U+0020). strconv.IsGraphic(r) acceptă în plus și celelalte spații Unicode, de exemplu spațiul neîntrerupt (U+00A0); este regula folosită de QuoteToGraphic. Caracterele de control (\n, \t) nu sunt acceptate de niciuna.
strconv.CanBackquote(s) spune dacă textul poate fi scris neschimbat între backticks (`…`), pe un singur rând: nu are rânduri noi, alte caractere de control în afară de tab, backticks sau octeți UTF-8 invalizi.
Parametri
| Parametru | Descriere |
|---|---|
r |
Caracterul verificat. |
s |
La CanBackquote: textul verificat. |
Ce returnează
true sau false.
Exemple
Exemplul 1: Caractere tipăribile
package main
import (
"fmt"
"strconv"
)
func main() {
fmt.Println("caracter IsPrint IsGraphic")
for _, r := range []rune{'ș', ' ', '\u00a0', '\t', '\n', '€'} {
fmt.Printf("%-9q %-7t %t\n", r, strconv.IsPrint(r), strconv.IsGraphic(r))
}
}
Rezultat
caracter IsPrint IsGraphic
'ș' true true
' ' true true
'\u00a0' false true
'\t' false false
'\n' false false
'€' true true
Exemplul 2: Poate fi scris între backticks?
package main
import (
"fmt"
"strconv"
)
func main() {
for _, s := range []string{"C:\\Users\\Ana", "Iași\tRomânia", "două\nrânduri", "cu `backtick`"} {
fmt.Printf("%-22q %t\n", s, strconv.CanBackquote(s))
}
}
Rezultat
"C:\\Users\\Ana" true
"Iași\tRomânia" true
"două\nrânduri" false
"cu `backtick`" false
Greșeli frecvente
- Confunzi
strconv.IsPrintcuunicode.IsPrint. Fac același lucru, dar pachetulstrconvare tabelele proprii, ca să nu depindă deunicode; în codul tău folosește-o pe cea din pachetul pe care îl imporți deja.
Comenzi înrudite
strconv.Quote: Pune textul între ghilimele, ca în codul Go, și scrie caracterele speciale ca secvențe \n, \t, \u…unicode.IsLetter: Verifică tipul unui caracter: literă, cifră, număr, spațiu alb sau semn de punctuație, după regulile Unicode.