[ ЧТО ТАКОЕ GO ]
Go (или Golang) — язык программирования, созданный в Google в 2009 году командой под руководством Роба Пайка и Кена Томпсона. Он сочетает в себе скорость C++ и читаемость Python.
Go используется в реальных продуктах: Docker, Kubernetes, серверная инфраструктура Google, Cloudflare. Язык статически типизирован (типы проверяются на этапе компиляции) и компилируемый (превращается в машинный код напрямую).
Go не требует точки с запятой в конце строки — компилятор добавляет их сам при разборе кода.
[ СТРУКТУРА ПРОГРАММЫ ]
Каждая программа Go начинается с объявления пакета. package main — особый пакет, из которого запускается программа. Ключевое слово import подключает стандартные библиотеки. Функция func main() — точка входа, с неё начинается выполнение.
package main
import "fmt"
func main() {
fmt.Println("Привет, мир!")
}
В Go импорт неиспользуемых пакетов — ошибка компиляции. Это приучает к чистому коду с самого начала.
[ НЕСКОЛЬКО ИМПОРТОВ ]
Когда нужно несколько пакетов, их группируют в скобки. Это называется блочным импортом — он читается аккуратнее, чем несколько отдельных import.
package main
import (
"fmt"
"math"
"strings"
)
func main() {
fmt.Println(math.Sqrt(16)) // 4
fmt.Println(strings.ToUpper("go")) // GO
}
[ КОММЕНТАРИИ ]
В Go два вида комментариев: // для однострочных и /* ... */ для многострочных. В Go принято документировать функции через // прямо перед ними — эти комментарии читаются инструментами вроде go doc.
package main
import "fmt"
// greet возвращает приветствие для переданного имени.
// Это документационный комментарий функции.
func greet(name string) string {
return "Привет, " + name
}
func main() {
/*
Многострочный комментарий.
Можно описать логику блока кода.
*/
fmt.Println(greet("Gopher")) // Привет, Gopher
}
[ ПОПРОБУЙ САМ ]
Напиши программу на Go, которая выводит твоё имя и любимое число.
Используй два вызова fmt.Println.
Не забудь: package main, import "fmt" и func main().
[ ПОКАЗАТЬ РЕШЕНИЕ ]
package main
import "fmt"
func main() {
fmt.Println("Меня зовут Марк")
fmt.Println("Моё любимое число:", 42)
}