strconv.QuoteRune în Go

Conversii între text și numere (strconv) Go 1.0 (QuoteRuneToGraphic din Go 1.6)

Scrie un caracter (rune) între apostrofuri, ca în codul Go: 'ș', '\n', '\u0219'.

Sintaxă
func QuoteRune(r rune) string
func QuoteRuneToASCII(r rune) string
func QuoteRuneToGraphic(r rune) string

Ce face strconv.QuoteRune

strconv.QuoteRune(r) returnează caracterul r între apostrofuri, cum l-ai scrie în cod: 'a', 'ș', '\n', '\''. Este echivalentul verbului %q aplicat unui rune.

QuoteRuneToASCII scrie orice caracter non-ASCII ca cod ('\u0219'), iar QuoteRuneToGraphic păstrează toate caracterele grafice Unicode, inclusiv spațiile speciale. Sunt aceleași reguli ca la strconv.Quote, dar pentru un singur caracter.

Parametri

Parametru Descriere
r Caracterul.

Ce returnează

Caracterul între apostrofuri, ca text.

Exemple

Exemplul 1: Caractere obișnuite și speciale

package main

import (
	"fmt"
	"strconv"
)

func main() {
	for _, r := range []rune{'a', 'ș', '\n', '\'', '€', '\u00a0'} {
		fmt.Printf("%-8s %-10s %s\n", strconv.QuoteRune(r), strconv.QuoteRuneToASCII(r), strconv.QuoteRuneToGraphic(r))
	}
}

Rezultat

'a'      'a'        'a'
'ș'      '\u0219'   'ș'
'\n'     '\n'       '\n'
'\''     '\''       '\''
'€'      '\u20ac'   '€'
'\u00a0' '\u00a0'   ' '

Greșeli frecvente

  • Dai un string în loc de rune: QuoteRune("ș") nu compilează. Folosește apostrofuri: 'ș'.

Comenzi înrudite

  • strconv.Quote: Pune textul între ghilimele, ca în codul Go, și scrie caracterele speciale ca secvențe \n, \t, \u…
  • strconv.Unquote: Unquote scoate ghilimelele și interpretează secvențele \n, \u…; UnquoteChar decodează un caracter; QuotedPrefix găsește textul citat de la început.
  • unicode/utf8.EncodeRune: EncodeRune scrie un caracter în UTF-8 într-un []byte, AppendRune îl adaugă la final, iar RuneLen spune câți octeți ocupă.