Ответ
В Go оператор * (астериск) имеет два основных применения:
- Указатель (pointer) - объявляет переменную как указатель на тип:
var x int = 10
var p *int = &x // p - указатель на x
fmt.Println(*p) // 10 (разыменование)
- Умножение чисел:
result := 5 * 3 // 15
Также * используется:
- В сигнатурах функций для указания, что параметр передаётся по указателю
- В типах для указания на slice/array указателей:
[]*int - В структурах для embedded-полей указателей
Важно: в отличие от C, в Go нет pointer arithmetic (арифметики указателей).