go - 如何在main.go中找到run函数的入口?

标签 go

我不是GO程序员,当我阅读GO的代码时,我发现了这样的代码

func main() {
  ......
        run(options)
}

我很困惑函数运行将运行什么?谁能帮忙?

最佳答案

好吧,公平地说,您发布的代码将产生以下内容:

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,并为其提供您决定的一些运行时选项(例如我的情况,Enabledtrue 无缘无故)。

我建议看看 https://tour.golang.org/熟悉这门语言。除了一些语法选择外,Go 中没有发生任何特别独特的事情。

Go 的代码处理方法非常显而易见。为此,没有什么是神奇的,并且对正在发生的事情有一个非常简单的编程解释。不确定 run 的作用?转到该功能并检查一下!弄清楚语法后,您会惊讶于内容的可读性。

+Edit:我要说的最后一点是,如果您只是找到 func run() 有困难,只是“在目录中查找”或您选择的编辑器所称的任何名称。该函数将位于同一文件夹中的文件中。我还建议查看一些适用于各种编辑器(VS Code、Sublime、Atom 等)的 Go 包,这样你就可以直接点击函数的位置。这些节省时间的小工具很有帮助,基本上只是为您“在目录中查找”。

关于go - 如何在main.go中找到run函数的入口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54123093/

相关文章:

visual-studio - 如何解决错误ld : framework not found CoreFoundation while installing GOPLS?

google-app-engine - Gorilla mux 在测试期间返回空白 url 参数

Go Swagger 能够为异步 react 代码编写响应

user-interface - Walk GUI Toolkit for GO 中的文件选择器组件

macos - 为什么这个 exec.Command 到另一个打开的 tty 不能正常工作

go - 如何通过 'go mod' 分隔不同目录中的代码?

pointers - 指向接口(interface)的指针是不是接口(interface)错误?

go - 包含连字符的包名

go - 为什么 _(underscore) 在输出中被忽略?

postgresql - 戈朗 : gorm use Find(&model) for non gorm migrate table