Публикации - Go

Типы данных - Основные типы данных, однотипные - Руны

В настоящее время поддержка символов Unicode является распространенным требованием — Go разработан с учетом поддержки Unicode, что является основной причиной наличия типа данных rune. Руна — это значение int32, которое используется для представления одного кодового пункта Unicode. Руна представляет собой целое значение и используется для представления отдельных символов Unicode или, реже, для предоставления информации о форматировании.

Вы можете определить руну, используя одинарные кавычки: r := '€', а вывести целое значение составляющих ее байтов с помощью fmt.Println(r) — в этом случае целочисленное значение равно 8364. Для вывода в виде одного символа Unicode потребуется использование управляющей строки %c в fmt.Printf().

package main

import "fmt"

func main() {
	aString := "Hello World! €"
	fmt.Println("First character", string(aString[0]))

	// Runes
	// A rune
	r := '€'
	fmt.Println("As an int32 value:", r)
	// Convert Runes to text
	fmt.Printf("As a string: %s and as a character: %c\n", r, r)

	// Print an existing string as runes
	for _, v := range aString {
		fmt.Printf("%x ", v)
	}
	fmt.Println()

	// String to rune Array
	// myRune := []rune(aString)
	// fmt.Printf("myRune %U\n", myRune)

	// Rune array to string
	// runeArray := []rune{'1', '2', '3'}
	// s := string(runeArray)
	// fmt.Println(s)

	// Print an existing string as characters
	for _, v := range aString {
		fmt.Printf("%c", v)
	}
	fmt.Println()
}

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться