我不是GO程序员,当我阅读GO的代码时,我会找到这样的代码
func main() {
......
run(options)
}
我很困惑,函数运行会运行什么?有人可以帮助吗?
答案 0 :(得分:0)
好吧,公平地说,您发布的代码将产生以下内容:
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()
困难,只需“在目录中查找”或您选择的编辑器称之为的任何东西。该功能将在同一文件夹中的文件中。我还建议为各种编辑器(VS Code,Sublime,Atom等)签出一些Go软件包,以便您只需单击即可到达该函数的位置。这些省时的方法对您有所帮助,并且基本上只是为您“查找目录”。
答案 1 :(得分:0)
必须定义一个名为run
的函数,该函数在文件范围内可用。在以下情况下,功能在文件范围内可用:
该函数在一个包中定义,该包使用用于导入的点语法导入到范围中
import . "anotherpackage"
如果该程序包导出了一个函数,它将在当前文件中可用。
在您的示例代码中,函数run
是小写的。由于Go中的软件包仅导出以大写字母开头的函数,因此这种情况不太可能。