Hello World
Go установлен, пора писать код.
Создайте файл main.go и скопируйте в него:
package main
import "fmt"
func main() { fmt.Println("Привет, мир!")}Запустите:
go run main.goРезультат:
Привет, мир!Если увидели эту строку — всё работает. Что означает каждая строчка кода — разберём в следующем уроке. Сейчас просто поиграемся.
Меняем текст
Замените "Привет, мир!" на что угодно:
fmt.Println("Go — это просто")Go — это простоКавычки обязательны. Без них — ошибка:
fmt.Println(Привет) // не сработаетНесколько строк
Добавьте ещё вызовов fmt.Println:
package main
import "fmt"
func main() { fmt.Println("Первая строка") fmt.Println("Вторая строка") fmt.Println("Третья строка")}Первая строкаВторая строкаТретья строкаКаждый Println выводит текст и переходит на новую строку.
Вывод без перехода на новую строку
Есть Print — без ln на конце:
package main
import "fmt"
func main() { fmt.Print("Раз ") fmt.Print("два ") fmt.Print("три")}Раз два триВсё в одной строке.
Вывод чисел
Числа работают без кавычек:
package main
import "fmt"
func main() { fmt.Println(42) fmt.Println(3.14) fmt.Println(-10)}423.14-10Можно комбинировать текст и числа:
fmt.Println("Ответ:", 42)Ответ: 42Простая арифметика
package main
import "fmt"
func main() { fmt.Println(2 + 2) fmt.Println(10 - 3) fmt.Println(6 * 7) fmt.Println(15 / 4)}4742315 / 4 дало 3, а не 3.75 — целые числа делятся нацело. Про это будет отдельный урок.
Комментарии
Текст после // игнорируется:
package main
import "fmt"
func main() { // это комментарий, программа его не видит fmt.Println("А это выведется")
fmt.Println("Код") // комментарий в конце строки тоже работает}А это выведетсяКодКомментарии нужны чтобы оставлять заметки себе или другим. Или временно отключать код:
// fmt.Println("Эта строка не выполнится")fmt.Println("А эта — да")Частые ошибки
Забыли кавычки
fmt.Println(привет)undefined: приветТекст всегда в кавычках: "привет".
Русские кавычки
fmt.Println(«Привет») // неправильноfmt.Println("Привет") // правильноТолько английские двойные кавычки ".
Опечатка в Println
fmt.Prinln("Привет") // нет tfmt.PrintLn("Привет") // большая LРегистр важен: Println, не PrintLn и не Prinln.
Задачи
1. Своё приветствие
Выведите своё имя:
Привет, меня зовут [ваше имя]!Решение
package main
import "fmt"
func main() { fmt.Println("Привет, меня зовут Вася!")}2. Несколько строк
Выведите:
Строка 1Строка 2Строка 3Решение
package main
import "fmt"
func main() { fmt.Println("Строка 1") fmt.Println("Строка 2") fmt.Println("Строка 3")}3. Всё в одну строку
Выведите Go это круто используя три отдельных Print:
Решение
package main
import "fmt"
func main() { fmt.Print("Go ") fmt.Print("это ") fmt.Print("круто")}4. Калькулятор
Выведите результат: 123 + 456 = ???
Число после = должна посчитать программа.
Решение
package main
import "fmt"
func main() { fmt.Print("123 + 456 = ") fmt.Println(123 + 456)}Или в одну строку:
fmt.Println("123 + 456 =", 123+456)5. Возраст
Выведите:
Мне X летЧерез 10 лет мне будет Y летГде X — ваш возраст, Y — программа считает сама.
Решение
package main
import "fmt"
func main() { fmt.Println("Мне 25 лет") fmt.Println("Через 10 лет мне будет", 25+10, "лет")}Что дальше
Вы запустили первую программу и поэкспериментировали с выводом. Но что значат package main, import "fmt", func main()? Разберём в следующем уроке.