Задать вопрос

В чем разница между Sprintf, Printf, Fprint?

В каких случаях нужно использовать Sprintf, Fprintf, Printf? Тоже самое для Scan. В чем отличия этих префиксов F, S?
  • Вопрос задан
  • 8507 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
@MGNeo
sprintf: s - строка, print - печать, f - форматированный режим; форматированная печать в строку.
fprintf: f - файл; форматированная печать в файл.
printf: форматированная печать в стандартное расположение, обычно в консоль.
Ответ написан
akaKAIN
@akaKAIN
Функционально:

Вернет строку новую строку. Удобно для создания своих строковых представлений для данных других типов.
var age = 20
NewAge := fmt.Sprintf("New %v", age)     // "New 20"


Используется для отправки данных в "ридер" - в примере происходит отправка в терминал значения переменной age. Print("123") - это обвертка над Fprint(os.Stdout, "123")
var age = 20
err := fmt.Fprintf(os.Stdout, age)      // "20"


Выводит в терминал форматированную строку. Правила форматирования тут
var age = 20
fmt.Printf("New %v\n", age)    // "New 20". Не забывайте ставить символ '\n' - перехода на новую строку.


Сохраняет введеное строковое значение в переменную
var name string
Scan(&name)


При вводе "My name is ThiefPytin"
Сохранит в переменную name только часть строки подходящей под формат (ThiefPytin)
var name string
Scanf("My name is %s", &name)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Комментировать
@stratosmi
Отличается по тому куда отдается результат.
В строку, в io.Writer (например, в файл, на сеть и т.п.) и на экран (в консоль).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы