Функция log.Fatalf
Функция log.Fatalf из пакета log форматирует сообщение
согласно переданному шаблону, записывает его в стандартный вывод ошибок
(или в указанный вывод), а затем завершает программу с кодом 1.
В первый параметр передается строка форматирования,
во второй и последующие параметры передаются значения
для подстановки в шаблон.
Важно: после вызова log.Fatalf программа немедленно завершается,
поэтому отложенные функции (defer) не выполняются.
Синтаксис
log.Fatalf(format string, v ...any)
Пример
Давайте выведем отформатированное сообщение и завершим программу:
package main
import (
"log"
)
func main() {
name := "Alice"
age := 30
log.Fatalf("User %s is %d years old", name, age)
}
Результат выполнения кода:
"2009/11/10 23:00:00 User Alice is 30 years old"
Пример
Давайте используем log.Fatalf для обработки ошибки при открытии файла:
package main
import (
"log"
"os"
)
func main() {
file, err := os.Open("non_existent.txt")
if err != nil {
log.Fatalf("Failed to open file: %v", err)
}
defer file.Close()
log.Println("File opened successfully")
}
Результат выполнения кода:
"2009/11/10 23:00:00 Failed to open file: open non_existent.txt: no such file or directory"
Пример
Важно помнить, что отложенные функции не выполняются
после вызова log.Fatalf. Проверим это на примере:
package main
import (
"log"
)
func main() {
defer log.Println("This will not be printed")
log.Fatalf("Program is terminating")
}
Результат выполнения кода:
"2009/11/10 23:00:00 Program is terminating"
Смотрите также
-
функцию
log.Fatal,
которая выводит сообщение и завершает программу без форматирования -
функцию
log.Fatalln,
которая выводит сообщение с переводом строки и завершает программу -
функцию
log.Println,
которая выводит сообщение в журнал, но не завершает программу -
функцию
log.Printf,
которая форматирует и выводит сообщение, но не завершает программу