Sobes.tech
Senior

Go'da satr nima? Satrning harflar va baytlar bo'yicha uzunligini qanday bilish mumkin?

sobes.tech AI

AIdan javob

В Go строка (string) — это неизменяемая последовательность байт, обычно содержащая текст в кодировке UTF-8.

  • Длина строки в байтах — это просто количество байт в срезе []byte, который лежит в основе строки.
  • Длина строки в символах (рунах) — количество Unicode-символов, которые могут занимать разное число байт.

Пример:

package main

import (
    "fmt"
    "unicode/utf8"
)

func main() {
    s := "Привет"
    fmt.Println("Длина в байтах:", len(s))
    fmt.Println("Длина в символах:", utf8.RuneCountInString(s))
}

Вывод будет примерно:

Длина в байтах: 12
Длина в символах: 6

Потому что каждый русский символ в UTF-8 занимает 2 байта.