Функция fmt.Fprintln

Функция fmt.Fprintln записывает переданные значения в любой поток вывода, реализующий интерфейс io.Writer. В первый параметр функция принимает поток вывода (например, os.Stdout, файл или сетевой сокет), в следующие параметры - значения для вывода. Функция автоматически добавляет пробелы между аргументами и символ новой строки в конце. Возвращает количество записанных байт и ошибку, если она возникла.

Синтаксис

gofmt.Fprintln(w io.Writer, a ...interface{}) (n int, err error)

Пример

Давайте выведем строку в стандартный вывод с помощью fmt.Fprintln:

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  res, err := fmt.Fprintln(os.Stdout, "Hello, World!")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println("Bytes written:", res)
}

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

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

Пример

Давайте запишем данные в файл с помощью fmt.Fprintln:

gopackage main

import (
  "fmt"
  "os"
)

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

  name := "Alice"
  age := 30
  res, err := fmt.Fprintln(file, "Name:", name, "Age:", age)
  if err != nil {
    fmt.Println("Error writing to file:", err)
    return
  }
  fmt.Println("Bytes written:", res)
}

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

go"Bytes written: 19"

Пример

Давайте выведем несколько значений разных типов с помощью fmt.Fprintln:

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  res, err := fmt.Fprintln(os.Stdout, 42, true, "string", 3.14)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println("Bytes written:", res)
}

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

go"42 true string 3.14"
"Bytes written: 22"

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

  • функцию fmt.Print,
    которая выводит данные в стандартный вывод без новой строки
  • функцию fmt.Println,
    которая выводит данные в стандартный вывод с новой строкой
  • функцию fmt.Fprint,
    которая записывает данные в поток вывода без новой строки
  • функцию fmt.Sprintf,
    которая форматирует строку без вывода