log.Printf()
ожидает строку формата в качестве первого аргумента:
func Printf(format string, v ...interface{})
Строка формата - это строка, в которой вы можете использовать глаголы с модификаторами длявыложите как вы хотите чтобы получилась строка результата.Строка формата без каких-либо глаголов, вероятно, является ошибкой (указывая на то, что вы, вероятно, что-то забыли из нее, или если она действительно не нуждается в глаголах, вам не следует использовать Pritnf()
, которая ожидает строку формата).Подробнее о строках формата и их синтаксисе Go можно прочитать в документе пакета fmt
.
Например, это строка формата:
"Greeting: %s"
Вот как это будет использоваться:
log.Printf("Greeting: %s", resp.GetMessage())
Это очень простой пример и не требует форматированного вывода.Если у вас нет строки формата, используйте log.Print()
или log.Println()
(для них не требуется строка формата):
log.Println("Greeting:", resp.GetMessage())
Вариант Printf()
пригодится, когда вам нужно более сложное форматирование, а не просто записать 2 строки (сцепленные).
Например:
log.Printf("Hi, my name is %s, and I'm %d years old.", "Bob", 22)
Вывод будет (попробуйте на Игровая площадка Go ):
2009/11/10 23:00:00 Hi, my name is Bob, and I'm 22 years old.