Функция io.WriteString

Функция io.WriteString записывает строку в реализацию интерфейса io.Writer. В первый параметр она принимает целевой Writer, во второй - строку для записи. Функция возвращает количество записанных байт и ошибку, если она произошла.

Синтаксис

gofunc WriteString(w io.Writer, s string) (n int, err error)

Где w - объект, реализующий интерфейс io.Writer, а s - строка для записи.

Пример с os.Stdout

Давайте запишем строку в стандартный вывод с помощью функции io.WriteString:

gopackage main

import (
  "fmt"
  "io"
  "os"
)

func main() {
  n, err := io.WriteString(os.Stdout, "Hello, World!")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println("\nBytes written:", n)
}

Результат выполнения кода:

go"Hello, World!"
"Bytes written: 13"

Пример с буфером bytes.Buffer

Давайте запишем строку в буфер с помощью io.WriteString и затем прочитаем содержимое:

gopackage main

import (
  "bytes"
  "fmt"
  "io"
)

func main() {
  buf := &bytes.Buffer{}
  s := "abcde"

  n, err := io.WriteString(buf, s)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }

  fmt.Println("Written bytes:", n)
  fmt.Println("Buffer content:", buf.String())
}

Результат выполнения кода:

go"Written bytes: 5"
"Buffer content: abcde"

Пример записи в файл

Давайте запишем строку в файл с помощью io.WriteString:

gopackage main

import (
  "fmt"
  "io"
  "os"
)

func main() {
  file, err := os.Create("example.txt")
  if err != nil {
    fmt.Println("Error creating file:", err)
    return
  }
  defer file.Close()

  s := "12345"
  n, err := io.WriteString(file, s)
  if err != nil {
    fmt.Println("Error writing to file:", err)
    return
  }

  fmt.Println("Written bytes:", n)
  fmt.Println("File content written successfully")
}

Результат выполнения кода:

go"Written bytes: 5"
"File content written successfully"

После выполнения программы в файле example.txt будет записана строка 12345.

Смотрите также

  • функцию os.File.WriteString,
    которая записывает строку в файл
  • функцию io.Copy,
    которая копирует данные из Reader в Writer
  • функцию io.ReadAll,
    которая читает все данные из Reader
  • функцию os.File.Write,
    которая записывает байтовый срез в файл