Метод bufio.Writer.WriteString
Метод WriteString записывает строку в буферизированный вывод.
Он принимает один параметр - строку для записи. Метод возвращает количество записанных байтов и ошибку, если она возникла.
Важно помнить, что данные не сразу попадают в конечный вывод, а накапливаются во внутреннем буфере.
Для принудительной записи всех буферизированных данных используется метод Flush.
Синтаксис
writer.WriteString(str)
Пример
Давайте создадим буферизированный писатель и запишем строку "abcde" в стандартный вывод:
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
writer := bufio.NewWriter(os.Stdout)
res, err := writer.WriteString("abcde")
if err != nil {
fmt.Println("Error:", err)
return
}
writer.Flush()
fmt.Println(res)
}
Результат выполнения кода:
abcde5
Пример
Давайте запишем несколько строк в буфер и затем выполним принудительную запись:
package main
import (
"bufio"
"os"
)
func main() {
writer := bufio.NewWriter(os.Stdout)
writer.WriteString("12345")
writer.WriteString("abcde")
writer.WriteString("67890")
writer.Flush()
}
Результат выполнения кода:
12345abcde67890
Пример
Запишем строку в буфер и получим количество записанных байтов:
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
writer := bufio.NewWriter(os.Stdout)
str := "abcde"
n, err := writer.WriteString(str)
if err != nil {
fmt.Println("Error:", err)
return
}
writer.Flush()
fmt.Println(n)
}
Результат выполнения кода:
abcde5
Смотрите также
-
метод
bufio.Writer.Write,
который записывает срез байтов в буферизированный вывод -
метод
bufio.Writer.WriteByte,
который записывает один байт в буферизированный вывод -
метод
bufio.Writer.WriteRune,
который записывает один руну в буферизированный вывод -
метод
bufio.Writer.Flush,
который выполняет принудительную запись всех буферизированных данных