cpp

Символы и строки

Строки являются упорядоченными последовательностями байтов. Длина строки ограничена лишь объемом оперативной памяти компьютера. Следует учитывать, что символы внутри строки изменить нельзя, поэтому все строковые функции в качестве значения возвращают новую строку.

Символы

Отдельные символы описываются с помощью типа rune, который является синонимом типа int32:

var c rune = 'w'
fmt.Println(c)                  // 119
fmt.Printf("%c\n", c)           // w
fmt.Printf("%q\n", c)           // 'w'
fmt.Printf("%U\n", c)           // U+0077
fmt.Printf("%#U\n", c)          // U+0077 'w'
fmt.Printf("%T\n", c)           // int32
// Выводим размер в байтах
// import "unsafe"
fmt.Println(unsafe.Sizeof(c))   // 4

Объявление символа

Объявление и инициализация символа осуществляется по следующей схеме:

var <Переменная> rune[ = <Значение>]

Указать значение можно несколькими способами:

  • задать числовой код символа:
var c rune = 119
fmt.Println(c)                  // 119
fmt.Printf("%c\n", c)           // w
  • задать символ внутри апострофов:
var c rune = 'w'
fmt.Println(c)                  // 119
fmt.Printf("%c\n", c)           // w

В этом случае тип данных можно не указывать:

var c = 'w'
fmt.Println(c)                  // 119
fmt.Printf("%c\n", c)           // w
fmt.Printf("%T\n", c)           // int32

Кроме того, можно воспользоваться сокращенным форматом объявления локальных переменных:

c := 'w'
fmt.Println(c)                  // 119
fmt.Printf("%c\n", c)           // w
fmt.Printf("%T\n", c)           // int32

Учебник Go (Golang)
Учебник Go (Golang) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

cpp