Что ж, если честно, код, который вы разместили, выдаст следующее:
prog.go:4:3: syntax error: unexpected ..., expecting }
https://play.golang.org/p/HMv-FydjKWf
Однако в более полном примере:
package main
import "fmt"
type Options struct {
Enabled bool
}
func run(opts Options) {
fmt.Printf("%+v\n", opts)
}
func main() {
opts := Options{
Enabled: true,
}
run(opts)
}
https://play.golang.org/p/-bHPWWxi-wm
Основы того, что происходит, - Go запускает выполнение вашей программы с функции main
. В этом случае вы вызываете функцию run
и предоставляете ей некоторые параметры времени выполнения, которые вы определили (например, мой случай, когда Enabled
равен true
без причины).
Предлагаю взглянуть на https://tour.golang.org/, чтобы познакомиться с языком. Ничего особенно уникального в Go не происходит, кроме нескольких синтаксических вариантов.
Go является очень очевидным с его подходом к коду. Для этого нет ничего волшебного, и есть очень простое объяснение того, что происходит. Не уверен, что делает run
? Перейти к этой функции и проверить это! Как только вы поймете синтаксис, вы удивитесь, насколько читабельны вещи.
+ Edit : Последнее замечание, которое я хотел бы сделать, заключается в том, что если у вас возникли трудности, просто найти func run()
, просто "Найти в каталоге" или любой другой редактор. по выбору называет это. Функция будет в файле в той же папке. Я также рекомендую проверить некоторые пакеты Go для различных редакторов (VS Code, Sublime, Atom и т. Д.), Чтобы вы могли просто щелкнуть по расположению функции. Эти маленькие экономящие время помогают, и в основном просто "Найти в каталоге" для вас.