bufio.Writer.WriteRune
Метод bufio.Writer.WriteRune записывает один Unicode символ (руну) в буферизированный поток вывода.
В качестве первого параметра метод принимает значение типа rune.
Возвращает два значения: количество записанных байт и ошибку error.
Если запись прошла успешно, ошибка будет равна nil.
Метод используется в связке с буферизированным писателем, созданным через bufio.NewWriter.
Синтаксис
writer.WriteRune(r rune) (int, error)
Пример
Давайте запишем руну 'А' в буферизированный вывод:
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
n, err := writer.WriteRune('А')
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Printf("\nWritten bytes: %d", n)
}
Результат выполнения кода:
"А"
"Written bytes: 2"
Пример
Давайте запишем несколько рун в буферизированный вывод, включая символы из разных алфавитов:
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
runes := []rune{'A', 'Б', 'C', 'Д', 'E'}
for _, r := range runes {
n, err := writer.WriteRune(r)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Printf("Rune %c wrote %d bytes\n", r, n)
}
}
Результат выполнения кода:
"AБCДЕ"
"Rune A wrote 1 bytes"
"Rune Б wrote 2 bytes"
"Rune C wrote 1 bytes"
"Rune Д wrote 2 bytes"
"Rune E wrote 1 bytes"
Смотрите также
-
метод
bufio.Writer.Write,
который записывает срез байт в буфер -
метод
bufio.Writer.WriteString,
который записывает строку в буфер -
метод
bufio.Writer.WriteByte,
который записывает один байт в буфер -
метод
bufio.Writer.Flush,
который сбрасывает буфер в основной поток вывода