Базовый синтаксис Go¶
Здесь — минимум, чтобы написать осмысленную программу: типы, переменные, операторы, ввод и вывод. Дальше всё опирается на этот фундамент.
Что должен понять¶
- Какие базовые типы есть в Go и как объявлять переменные.
- Когда использовать
var, а когда короткий:=. - Как читать ввод и печатать вывод через пакет
fmt. - Что нет неявных конверсий —
intвfloat64нужно кастовать руками. - Что неиспользуемая переменная — это ошибка компиляции, не предупреждение.
Базовые типы¶
- Числа:
int,int64,float64. - Строки:
string(UTF-8, неизменяемые). - Логические:
bool(true/false). - Zero values:
0,"",false,nil.
Объявление переменных¶
package main
import "fmt"
func main() {
var a int = 10 // явный тип
var b = 20 // тип выводится: int
c := 30 // короткий вид, только внутри функции
const Pi = 3.14159 // константа
fmt.Println(a, b, c, Pi)
}
Операторы и арифметика¶
x := 7
y := 2
fmt.Println(x + y) // 9
fmt.Println(x - y) // 5
fmt.Println(x * y) // 14
fmt.Println(x / y) // 3 (целочисленное деление)
fmt.Println(x % y) // 1 (остаток)
// Сравнения дают bool
fmt.Println(x > y, x == y, x != y)
Деление целых чисел даёт целое. Чтобы получить дробь — сначала кастуй:
float64(x) / float64(y).
Ввод и вывод¶
package main
import "fmt"
func main() {
var name string
fmt.Print("Как тебя зовут? ")
fmt.Scan(&name) // & — адрес переменной
fmt.Printf("Привет, %s!\n", name)
}
Полезные глаголы fmt:
%d— целое,%f— дробное,%s— строка,%v— любое значение.\n— перенос строки.
Типичные ошибки¶
- Забыли
&вfmt.Scan— программа не запишет в переменную. - Объявили переменную и не использовали — компилятор ругается.
Удали или используй
_ = x. int / intдля дробного результата. Каст обязателен.
Критерии приёмки модуля¶
- Программа считывает имя и печатает приветствие.
- Программа считает остаток от деления и выводит результат.
- В коде нет неиспользуемых переменных и импортов.
go fmtничего не меняет в файле перед коммитом.
Дальше: Условия.