Junior
¿Qué representa el tipo de dato string en el lenguaje Golang?
sobes.tech AI
Respuesta de la IA
En Golang, string es una secuencia inmutable de bytes.
Características clave:
- Inmutabilidad: Después de crear una cadena, no se puede modificar. Cualquier operación que modifique la cadena en realidad crea una nueva cadena.
- Representación: La cadena contiene una secuencia de bytes. Por defecto, Golang asume que estos bytes representan texto codificado en UTF-8.
- Longitud: La longitud de la cadena (
len(s)) devuelve el número de bytes en la cadena, no el número de runas (símbolos). - Indexación: Acceder a los elementos de la cadena por índice (
s[i]) devuelve el byte en ese índice. - Runas: Para trabajar con caracteres (runas), se utiliza la iteración sobre la cadena con un ciclo
for range, que decodifica UTF-8 y proporciona las runas y sus índices.
Ejemplo:
// Inicialización de la cadena
s := "Привет, мир!" // 23 bytes, 12 runas
// Longitud de la cadena (en bytes)
byteLength := len(s) // byteLength = 23
// Acceso al byte por índice
firstByte := s[0] // firstByte = 208 (byte 'П' en UTF-8)
// Iteración sobre las runas
runeCount := 0
for index, runeValue := range s {
// index - índice de inicio de la runa en la cadena (en bytes)
// runeValue - la runa decodificada
runeCount++
}
// runeCount = 12