开始时遇到麻烦。 `package main`抛出运行时错误-索引超出范围?

时间:2018-10-28 06:03:07

标签: go jupyter-notebook main

我是一个完整的初学者。我刚刚安装了gophernotes,打算使用Jupyter Notebook进行主要编程。

在Jupyter中运行时,该程序会出现以下错误:

Cell1: package main
Out1: runtime error: index out of range
Cell2: import "fmt"
      func main() {
          fmt.Println("hello world")
      }
      main()
Out2: hello world

当我在test.go中编写相同内容并从bash go run test.go执行时,我得到以下信息:

Deepaks-MacBook-Air:JUPYTER deepak$ go run test.go 
go: disabling cache (/Users/deepak/Library/Caches/go-build) due to initialization failure: open /Users/deepak/Library/Caches/go-build/log.txt: permission denied
# command-line-arguments
./test.go:6:1: syntax error: non-declaration statement outside function body

1 个答案:

答案 0 :(得分:0)

我认为拥有“ package main”是一个问题。 Go与Jupyter一起工作的方式显然不同于Go独自工作的方式。您不需要Jupyter的package语句。

此外,您永远不应致电main()。当您使用go rungo build运行程序时,该操作会自动完成。

我对Jupyter Notebook及其如何使用Go并不熟悉。也许您确实需要调用该函数。如果是这种情况,请不要命名您的函数main,因为这很容易混淆。

根据我对Jupyter / Go示例的了解,您不需要Go函数,只需列出代码即可。