package main

import "fmt"

func main() {
	// функция Printf выводит форматированную строку
	fmt.Printf("About one third %0.2f\n", 1.0/3.0)

	// Функция Sprintf возвращает форматированную строку
	resultString := fmt.Sprintf("About one third %0.2f\n", 1.0/3.0)
	fmt.Printf(resultString)

	// Формат %v не выводит спецсимволы
	fmt.Printf("%v %v %v", "", "\n", "\t")
	// Формат %#v выводит спецсимволы
	fmt.Printf("%#v %#v %#v", "", "\n", "\t")
	fmt.Println("")

	// Форматирование в виде таблицы
	fmt.Printf("%12s | %s\n", "Product", "Cost in Cents")
	fmt.Println("-------------+-------------------")
	fmt.Printf("%12s | %2d\n", "Stamps", 50)
	fmt.Printf("%12s | %2d\n", "Paper CLips", 5)
	fmt.Printf("%12s | %2d\n", "Tape", 99)

	fmt.Println("")
	// Дробный формат %5.3f - %: спецификатор, 5:минимальная ширина всего числа, .3: ширина дробной части, f: тип формата
	fmt.Printf("%%7.1f: %7.1f\n", 12.34567)
	// В формате дробной части цифры не округляются, а просто отбрасываются

}
