Bytes

¿Qué son los bytes en Go?

Los strings funcionan como slices de bytes. Los caracteres occidentales (ejemplo a,b,c,d,etc) generalmente representan un byte.

Ejemplo del uso de strings como slices

package main

import "fmt"

func main() {
    hola := "hola"
    fmt.Println(len(hola))
    fmt.Println(hola[0])
    fmt.Printf("%q\n", hola[0])
    fmt.Printf("%b\n", hola[0])

    nihao := "你好"
    fmt.Println(len(nihao))
}
4
104
'h'
1101000
6

Descripción del ejemplo del uso de strings como slices

En el ejemplo anterior tenemos podemos ver que:

  • Para obtener la longitud de un string usamos len(string), este caso es 4.
  • Si intentamos acceder al indice 0 del string hola[0], obtendremos el numero correspondiente a la tabla de codificación UTF-8, en este caso 104.
  • Para obtener el primer elemento del string, tenemos que imprimir su valor como caractér fmt.Printf("%q\n", hola[0])
  • El valor binario del primer caractér lo obtenemos con fmt.Printf("%b\n", hola[0])
  • No todos los caracteres miden un byte, por ejemplo hola que se escribe en chino 你好 y se pronuncia nihao, requiere de 13 bytes, aunque solo utiliza dos caracteres.

VPN

  • Ir a la oferta de NordVPN

Moda

Accesorios