Функция fmt.Fprintf
Функция fmt.Fprintf форматирует строку согласно шаблону
с использованием спецификаторов формата и записывает результат
в произвольный поток вывода. Первым параметром функция принимает
интерфейс io.Writer, в который будет производиться запись,
вторым параметром передается строка форматирования,
а последующими параметрами - значения для подстановки в шаблон.
Синтаксис
fmt.Fprintf(w, format, a...)
Пример с выводом в стандартный вывод
Давайте выведем форматированную строку в стандартный вывод
с помощью fmt.Fprintf:
package main
import (
"fmt"
"os"
)
func main() {
name := "Alice"
age := 30
fmt.Fprintf(os.Stdout, "Name: %s, Age: %d", name, age)
}
Результат выполнения кода:
"Name: Alice, Age: 30"
Пример с записью в файл
Давайте запишем форматированные данные в файл
с помощью fmt.Fprintf:
package main
import (
"fmt"
"os"
)
func main() {
file, err := os.Create("data.txt")
if err != nil {
fmt.Println("Error creating file:", err)
return
}
defer file.Close()
value := 12345
fmt.Fprintf(file, "Number: %d, Hex: %x", value, value)
}
Результат выполнения кода:
"Number: 12345, Hex: 3039"
Пример с записью в буфер
Давайте запишем форматированную строку в буфер
с помощью fmt.Fprintf:
package main
import (
"bytes"
"fmt"
)
func main() {
var buf bytes.Buffer
items := []string{"a", "b", "c", "d", "e"}
for i, item := range items {
fmt.Fprintf(&buf, "Index: %d, Value: %s\n", i, item)
}
fmt.Print(buf.String())
}
Результат выполнения кода:
"Index: 0, Value: a
Index: 1, Value: b
Index: 2, Value: c
Index: 3, Value: d
Index: 4, Value: e
"
Смотрите также
-
функцию
fmt.Fprint,
которая записывает строку без форматирования -
функцию
fmt.Fprintln,
которая записывает строку с переносом строки -
функцию
fmt.Sprintf,
которая форматирует строку без вывода в поток -
функцию
fmt.Printf,
которая форматирует вывод в стандартный поток