1. Знакомство с командой fmt.Println
Вы только что написали свою первую программу на Go и вывели на экран первое сообщение. Поздравляю вас с этим. Давайте же не останавливаться...
Вот вам 2 факта о командах в Go:
Любая программа на Go состоит из инструкций (команд). Команды бывают разные. В языке Go есть команды на все случаи жизни. Каждая команда описывает какое-то определенное действие.
В Go точка с запятой в конце строки обычно не нужна: достаточно перевода строки.
Примеры команд вывода:
| Команда | Описание (что делает) |
|---|---|
|
Выводит на экран число: |
|
Выводит на экран надпись: |
|
Выводит на экран надпись: |
На самом деле это одна команда — fmt.Println. А в круглых скобках в нее передаются параметры. В зависимости от значений параметров, одна команда может выполнять разные действия. Это очень удобно.
Размер букв имеет значение
В Go размер имеет значение: важно, большими или маленькими буквами написаны команды. Команда fmt.Println() работать будет, а fmt.println() — нет. Если вы напишете команду не теми буквами, то Go ее не распознает, и следовательно выполнять не будет. Так что будьте внимательными.
Двойные кавычки
Если вы хотите вывести на экран текст, его нужно с двух сторон обозначить двойными кавычками.
Одинарная кавычка выглядит вот так ', а двойная — вот так ". Двойная кавычка — это не две одинарных: просьба не путать.
В Go одинарные кавычки обычно используются не для строк, а для одного символа (rune), например: 'A'.
Двойная — это та, которая рядом с кнопкой Enter. На ней еще обычно находится кириллическая буква "Э".
2. Знакомство с командой fmt.Print
Есть еще одна команда, похожая на fmt.Println(), и она называется fmt.Print().
Команда fmt.Println() выводит на экран текст и после него добавляет перевод курсора на следующую строку, как бы нажимая Enter. Таким образом следующая команда fmt.Println() выведет текст уже на следующей строке. А следующая команда — на следующей, и так далее.
В отличие от fmt.Println(), команда fmt.Print() не добавляет Enter после вывода текста. Поэтому текст, выведенный несколькими командами fmt.Print(), будет выводиться в одну строчку.
Пример 1:
package main
import "fmt"
func main() {
fmt.Print("Amigo")
fmt.Println("The")
fmt.Print("Best")
}
Выведет на экран:
AmigoThe
Best
Пример 2:
package main
import "fmt"
func main() {
fmt.Print("Amigo")
fmt.Print("The")
fmt.Print("Best")
}
Выведет на экран:
AmigoTheBest
Если хотите вывести текст на одной строке, пользуйтесь командой Print, если на нескольких — Println. Все просто.
3. Разбираем команду fmt.Println
Если вы хотя бы немного знаете английский, то изучать программирование вам будет намного проще. Название многих команд в Go напрямую связанное с тем, что они делают.
Например Println — это print + ln — напечатай линию (строку). Слово print думаю всем известно, а ln — сокращение от line. Каждая строчка текста на экране — это отдельная линия. Поэтому напечатать линию — это именно вывести линию текста (и перейти на новую строку).
fmt — это пакет стандартной библиотеки Go. Его название обычно расшифровывают как format (форматирование). Через него чаще всего печатают текст на экран (в консоль). Консоль — это старое название устройства, которое позволяло печатать команды на клавиатуре и выводить результаты на экран.
Другими словами, работа с консолью — это вывод текста на экран и ввод данных с помощью клавиатуры. Поэтому если вы в будущем услышите, что программа что-то вывела в консоль, то это просто значит, что она вывела текст на экран.
Вот и получается что, fmt.Println — это примерно "Эй, консоль, выведи мне на экран строку текста (и перейди на следующую)".
4. Примеры вывода различных данных
Давайте поиграемся с выводом в консоли. Начнём с самого простого и постепенно усложним:
Вывод чисел
package main
import "fmt"
func main() {
fmt.Println(1001)
fmt.Println(-15)
}
Вывод текста
package main
import "fmt"
func main() {
fmt.Println("Программирование — это круто!")
fmt.Println("Пошутили, а теперь — кодим.")
}
Вывод сразу нескольких значений
Если вы хотите вывести несколько значений, проще всего передать несколько аргументов в fmt.Println:
package main
import "fmt"
func main() {
fmt.Println("Мой возраст:", 28)
}
Выведет на экран:
Мой возраст: 28
Так очень удобно формировать осмысленные предложения:
package main
import "fmt"
func main() {
fmt.Println("Сейчас на дворе", 2026, "год.")
}
Выведет на экран:
Сейчас на дворе 2026 год.
5. Основные ошибки при использовании fmt.Println
Молодые джедаи часто наступают на одни и те же грабли. Но, чтобы вы не превращались в героя книги "1001 ошибка в Go", вот список распространённых косяков и подсказки, как их избегать.
Ошибка 1. Забыли закрыть строку — потеряли вторую кавычку.
Если написать так (обратите внимание: строка не закрыта):
package main
import "fmt"
func main() {
fmt.Println("Ой, открыли кавычку и забыли закрыть);
}
Компилятор тут возмутится чем-то вроде "string literal not terminated" — закрывайте строки!
Ошибка 2. Забыли импортировать пакет fmt
В Go, чтобы использовать fmt.Println, нужно импортировать пакет fmt.
package main
func main() {
fmt.Println("Если нет import fmt, будет ошибка компиляции")
}
Ошибка 3. Использование неправильных кавычек
Новички иногда используют кавычки-ёлочки или одинарные:
package main
import "fmt"
func main() {
fmt.Println(‘Ошибка’) // неправильно: это не стандартные двойные кавычки
fmt.Println('Ошибка') // неправильно: в Go одинарные кавычки — для одного символа (rune)
fmt.Println("Ошибка") // правильно
}
Для строк всегда используем двойные стандартные — вот такие: ".
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ